diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-05-28 00:33:50 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-05-28 00:33:50 +0000 |
| commit | b7f5af1f4b6691052bb3e77968a478ff27696095 (patch) | |
| tree | 21209c94779f2339a2a9351b52972ea5ea1d67a3 /db/schema/vendorData.ts | |
| parent | 20800b214145ee6056f94ca18fa1054f145eb977 (diff) | |
(대표님 / 최겸) 스키마 변경사항 및 마이그레이션 커밋
Diffstat (limited to 'db/schema/vendorData.ts')
| -rw-r--r-- | db/schema/vendorData.ts | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/db/schema/vendorData.ts b/db/schema/vendorData.ts index 01608df4..20025dc0 100644 --- a/db/schema/vendorData.ts +++ b/db/schema/vendorData.ts @@ -292,4 +292,40 @@ export const vendorDataReportTemps = pgTable("vendor_data_report_temps", { .notNull(), }); -export type VendorDataReportTemps = typeof vendorDataReportTemps.$inferSelect;
\ No newline at end of file +export type VendorDataReportTemps = typeof vendorDataReportTemps.$inferSelect; + + +export const formListsView = pgView("form_lists_view").as((qb) => { + return qb + .select({ + // Primary identifiers + id: sql<number>`${tagTypeClassFormMappings.id}`.as("id"), + projectId: sql<number>`${tagTypeClassFormMappings.projectId}`.as("project_id"), + + // Project information + projectCode: sql<string>`${projects.code}`.as("project_code"), + projectName: sql<string>`${projects.name}`.as("project_name"), + + // Form information + tagTypeLabel: sql<string>`${tagTypeClassFormMappings.tagTypeLabel}`.as("tag_type_label"), + classLabel: sql<string>`${tagTypeClassFormMappings.classLabel}`.as("class_label"), + formCode: sql<string>`${tagTypeClassFormMappings.formCode}`.as("form_code"), + formName: sql<string>`${tagTypeClassFormMappings.formName}`.as("form_name"), + + // Additional fields + ep: sql<string | null>`${tagTypeClassFormMappings.ep}`.as("ep"), + remark: sql<string | null>`${tagTypeClassFormMappings.remark}`.as("remark"), + + // Timestamps + createdAt: sql<Date>`${tagTypeClassFormMappings.createdAt}`.as("created_at"), + updatedAt: sql<Date>`${tagTypeClassFormMappings.updatedAt}`.as("updated_at"), + }) + .from(tagTypeClassFormMappings) + .innerJoin( + projects, + eq(tagTypeClassFormMappings.projectId, projects.id) + ); + }); + + + export type FormListsView = typeof formListsView.$inferSelect; |
