import { pgTable, varchar, timestamp, boolean } from "drizzle-orm/pg-core"; /** * 지불조건, 인코텀즈, 선적/하역(출발지, 도착지) 테이블은 Non-SAP에서 동기화 (Oracle DB to PostgreSQL) * 동기화 로직은 instrumentation.ts 에서 node-cron 을 통해 job으로 등록됨 */ // 지불조건 테이블 (Non-SAP 에서 동기화) export const paymentTerms = pgTable("payment_terms", { code: varchar("code", { length: 50 }).primaryKey(), description: varchar("description", { length: 255 }).notNull(), // days: integer("days").notNull(), isActive: boolean("is_active").default(true).notNull(), createdAt: timestamp("created_at").defaultNow().notNull(), }); // 인코텀즈 테이블 (Non-SAP 에서 동기화) export const incoterms = pgTable("incoterms", { code: varchar("code", { length: 20 }).primaryKey(), description: varchar("description", { length: 255 }).notNull(), isActive: boolean("is_active").default(true).notNull(), createdAt: timestamp("created_at").defaultNow().notNull(), }); // 선적/하역 테이블 (Non-SAP 에서 동기화) export const placeOfShipping = pgTable("place_of_shipping", { code: varchar("code", { length: 20 }).primaryKey(), description: varchar("description", { length: 255 }).notNull(), isActive: boolean("is_active").default(true).notNull(), createdAt: timestamp("created_at").defaultNow().notNull(), }); export type Incoterm = typeof incoterms.$inferSelect;