Bisher reine uuid-Spalten ohne referenzielle Integritaet -> Orphan-Risiko, wenn das Ziel geloescht wird. Jetzt echte FKs mit ON DELETE SET NULL: - day_entry.blocker_id -> blocker - blocker.area_id -> area - blocker.project_id -> project Migration bereinigt vorab verwaiste IDs (UPDATE ... SET NULL), damit ADD CONSTRAINT auf Altdaten nicht bricht. Verifiziert: alle 18 Migrationen laufen gegen frische Postgres 16 durch, FKs angelegt. (todo.bezug_id / time_entry.bezug_id bleiben FK-frei: echt polymorph ueber bezug_kind project/deal/campaign — kein einzelner FK moeglich.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
132 lines
2.6 KiB
JSON
132 lines
2.6 KiB
JSON
{
|
|
"version": "7",
|
|
"dialect": "postgresql",
|
|
"entries": [
|
|
{
|
|
"idx": 0,
|
|
"version": "7",
|
|
"when": 1779736070490,
|
|
"tag": "0000_init",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 1,
|
|
"version": "7",
|
|
"when": 1779737202483,
|
|
"tag": "0001_day_rhythm",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 2,
|
|
"version": "7",
|
|
"when": 1779737584310,
|
|
"tag": "0002_areas_projects",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 3,
|
|
"version": "7",
|
|
"when": 1779737764727,
|
|
"tag": "0003_sales_marketing",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 4,
|
|
"version": "7",
|
|
"when": 1779739115697,
|
|
"tag": "0004_is_admin",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 5,
|
|
"version": "7",
|
|
"when": 1779740456944,
|
|
"tag": "0005_todo_carry_over",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 6,
|
|
"version": "7",
|
|
"when": 1780410287425,
|
|
"tag": "0006_time_entry",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 7,
|
|
"version": "7",
|
|
"when": 1780415208906,
|
|
"tag": "0007_project_description",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 8,
|
|
"version": "7",
|
|
"when": 1780577284868,
|
|
"tag": "0008_lead_crm",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 9,
|
|
"version": "7",
|
|
"when": 1780669990802,
|
|
"tag": "0009_pm_insights",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 10,
|
|
"version": "7",
|
|
"when": 1780672129310,
|
|
"tag": "0010_leitfaden_phases",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 11,
|
|
"version": "7",
|
|
"when": 1780754557002,
|
|
"tag": "0011_lead_project_link",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 12,
|
|
"version": "7",
|
|
"when": 1780761840614,
|
|
"tag": "0012_todo_unplanned",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 13,
|
|
"version": "7",
|
|
"when": 1780763141548,
|
|
"tag": "0013_parallel_timers",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 14,
|
|
"version": "7",
|
|
"when": 1780764129593,
|
|
"tag": "0014_checkout_kimai",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 15,
|
|
"version": "7",
|
|
"when": 1780765384409,
|
|
"tag": "0015_delete_break_entries",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 16,
|
|
"version": "7",
|
|
"when": 1780771242601,
|
|
"tag": "0016_project_logo_url",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 17,
|
|
"version": "7",
|
|
"when": 1780826387755,
|
|
"tag": "0017_rare_oracle",
|
|
"breakpoints": true
|
|
}
|
|
]
|
|
} |