feat(plan): add plan_categories table, migrate category enum to varchar
- Add `plan_categories` model (id, key, label, color, sort_order, is_active) - Change `work_plan_entries.category` from ENUM plan_category to VARCHAR(50) - Change `work_plan_overrides.category` from ENUM plan_category to VARCHAR(50) - Remove the `plan_category` enum from schema - Seed 7 built-in categories (work, preparation, travel, leave, sick, training, other) Also fixes two pre-existing migration issues that blocked shadow-DB execution: - 20260605122718: swap CREATE INDEX before DROP INDEX so MySQL FK constraint is not broken - 20260514071455_init: fix quotations.project_code VARCHAR(50→100) to match actual DB schema Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -678,16 +678,6 @@ enum sklad_inventory_status {
|
||||
CONFIRMED
|
||||
}
|
||||
|
||||
enum plan_category {
|
||||
work
|
||||
preparation
|
||||
travel
|
||||
leave
|
||||
sick
|
||||
training
|
||||
other
|
||||
}
|
||||
|
||||
model sklad_categories {
|
||||
id Int @id @default(autoincrement())
|
||||
name String @db.VarChar(100)
|
||||
@@ -934,13 +924,24 @@ model sklad_inventory_lines {
|
||||
@@map("sklad_inventory_lines")
|
||||
}
|
||||
|
||||
model plan_categories {
|
||||
id Int @id @default(autoincrement())
|
||||
key String @unique @db.VarChar(50)
|
||||
label String @db.VarChar(100)
|
||||
color String @db.VarChar(7)
|
||||
sort_order Int @default(0)
|
||||
is_active Boolean @default(true)
|
||||
created_at DateTime? @default(now()) @db.DateTime(0)
|
||||
updated_at DateTime? @default(now()) @updatedAt @db.DateTime(0)
|
||||
}
|
||||
|
||||
model work_plan_entries {
|
||||
id Int @id @default(autoincrement())
|
||||
user_id Int
|
||||
date_from DateTime @db.Date
|
||||
date_to DateTime @db.Date
|
||||
project_id Int?
|
||||
category plan_category @default(work)
|
||||
category String @default("work") @db.VarChar(50)
|
||||
note String @db.VarChar(500)
|
||||
created_by Int
|
||||
created_at DateTime? @default(now()) @db.Timestamp(0)
|
||||
@@ -961,7 +962,7 @@ model work_plan_overrides {
|
||||
user_id Int
|
||||
shift_date DateTime @db.Date
|
||||
project_id Int?
|
||||
category plan_category
|
||||
category String @db.VarChar(50)
|
||||
note String @db.VarChar(500)
|
||||
created_by Int
|
||||
created_at DateTime? @default(now()) @db.Timestamp(0)
|
||||
|
||||
Reference in New Issue
Block a user