Skip to content

Documentation


Documentation / @kizami/db / workPolicyVersions

Variable: workPolicyVersions

const workPolicyVersions: SQLiteTableWithColumns<{ columns: { core: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "core"; notNull: false; tableName: "work_policy_versions"; }, { }, { length: number | undefined; }>; createdAt: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteInteger"; data: number; dataType: "number"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "created_at"; notNull: true; tableName: "work_policy_versions"; }, { }, { }>; effectiveFrom: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "effective_from"; notNull: true; tableName: "work_policy_versions"; }, { }, { length: number | undefined; }>; id: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: true; name: "id"; notNull: true; tableName: "work_policy_versions"; }, { }, { length: number | undefined; }>; kind: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: true; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "kind"; notNull: true; tableName: "work_policy_versions"; }, { }, { length: number | undefined; }>; settlementPeriod: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "settlement_period"; notNull: true; tableName: "work_policy_versions"; }, { }, { length: number | undefined; }>; standardDayMinutes: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteInteger"; data: number; dataType: "number"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "standard_day_minutes"; notNull: true; tableName: "work_policy_versions"; }, { }, { }>; tenantId: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "tenant_id"; notNull: true; tableName: "work_policy_versions"; }, { }, { length: number | undefined; }>; workPolicyId: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "work_policy_id"; notNull: true; tableName: "work_policy_versions"; }, { }, { length: number | undefined; }>; }; dialect: "sqlite"; name: "work_policy_versions"; schema: undefined; }>

Defined in: packages/db/src/schema/settings.ts:85

work_policies の版(追記専用)。労働時間制の種別を kind で区別する:

  • "flex"(フレックスタイム制): settlementPeriod(清算期間)/ core(コアタイム)を使う
  • "fixed"(固定時間制): settlementPeriod / core は無視される(列自体は NOT NULL のまま 残すため、fixed でも settlementPeriod には便宜上 "monthly" を、core には null を入れておく)

2026-08-23 固定時間制対応で kind を追加。既存行のマイグレーションでは "flex" を入れる。