summaryrefslogtreecommitdiff
path: root/db/schema/basicContractDocumnet.ts
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-07-23 09:08:03 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-07-23 09:08:03 +0000
commita50bc9baea332f996e6bc3a5d70c69f6d2d0f194 (patch)
tree7493b8a4d9cc7cc3375068f1aa10b0067e85988f /db/schema/basicContractDocumnet.ts
parent7402e759857d511add0d3eb19f1fa13cb957c1df (diff)
(대표님, 최겸) 기본계약 템플릿 및 에디터, 기술영업 벤더정보, 파일 보안다운로드, 벤더 document sync 상태 서비스, 메뉴 Config, 기술영업 미사용 제거
Diffstat (limited to 'db/schema/basicContractDocumnet.ts')
-rw-r--r--db/schema/basicContractDocumnet.ts11
1 files changed, 7 insertions, 4 deletions
diff --git a/db/schema/basicContractDocumnet.ts b/db/schema/basicContractDocumnet.ts
index 18dba460..33530ca9 100644
--- a/db/schema/basicContractDocumnet.ts
+++ b/db/schema/basicContractDocumnet.ts
@@ -1,11 +1,11 @@
-import { pgTable, pgView, text, timestamp, integer, varchar, boolean } from 'drizzle-orm/pg-core';
+import { pgTable, pgView, text, timestamp, integer, varchar, boolean , unique} from 'drizzle-orm/pg-core';
import { vendors } from './vendors';
import { eq, sql } from "drizzle-orm";
import { users } from './users';
export const basicContractTemplates = pgTable('basic_contract_templates', {
id: integer("id").primaryKey().generatedAlwaysAsIdentity(),
- templateCode: varchar("template_code", { length: 50 }).notNull().unique(), // 템플릿 코드
+ // templateCode: varchar("template_code", { length: 50 }).notNull().unique(), // 템플릿 코드 - 제거됨
templateName: text('template_name').notNull(),
revision: integer('revision').notNull().default(1), // 리비전
status: text('status').notNull().default('ACTIVE'), // ACTIVE, DISPOSED
@@ -33,7 +33,10 @@ export const basicContractTemplates = pgTable('basic_contract_templates', {
updatedBy: integer('updated_by').references(() => users.id), // 수정자
disposedAt: timestamp('disposed_at'), // 폐기일자
restoredAt: timestamp('restored_at'), // 복구일자
-});
+}, (table) => ({
+ // templateName과 revision 조합이 유니크해야 함
+ templateNameRevisionUnique: unique("template_name_revision_unique").on(table.templateName, table.revision),
+}));
export const basicContract = pgTable('basic_contract', {
@@ -74,7 +77,7 @@ export const basicContractView = pgView('basic_contract_view').as((qb) => {
requestedByName: sql<string | null>`${users.name}`.as('requested_by_name'),
// 템플릿 정보 (확장된 필드들)
- templateCode: sql<string | null>`${basicContractTemplates.templateCode}`.as('template_code'),
+ // templateCode: sql<string | null>`${basicContractTemplates.templateCode}`.as('template_code'),
templateName: sql<string | null>`${basicContractTemplates.templateName}`.as('template_name'),
templateRevision: sql<number | null>`${basicContractTemplates.revision}`.as('template_revision'),
templateStatus: sql<string | null>`${basicContractTemplates.status}`.as('template_status'),