Spaces:
Runtime error
Runtime error
| -- up | |
| CREATE TABLE schedule_versions ( | |
| id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| project_id INTEGER NOT NULL REFERENCES projects(id) ON DELETE CASCADE, | |
| parent_id INTEGER REFERENCES schedule_versions(id), | |
| kind TEXT NOT NULL CHECK (kind IN ('BASELINE','FORECAST')), | |
| trigger TEXT NOT NULL, | |
| trigger_ref TEXT, | |
| source_activity_id INTEGER REFERENCES activities(id), | |
| computed_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%SZ','now')), | |
| computed_by INTEGER REFERENCES users(id), | |
| inputs_hash TEXT NOT NULL, | |
| stats TEXT NOT NULL DEFAULT '{}' | |
| ); | |
| CREATE INDEX idx_schedule_versions_project ON schedule_versions (project_id, computed_at DESC); | |
| CREATE TABLE scheduled_activities ( | |
| schedule_version_id INTEGER NOT NULL REFERENCES schedule_versions(id) ON DELETE CASCADE, | |
| activity_id INTEGER NOT NULL REFERENCES activities(id) ON DELETE CASCADE, | |
| earliest_start TEXT NOT NULL, | |
| earliest_finish TEXT NOT NULL, | |
| latest_start TEXT, | |
| latest_finish TEXT, | |
| total_float_min INTEGER, | |
| is_critical INTEGER NOT NULL DEFAULT 0, | |
| reused_from_parent INTEGER NOT NULL DEFAULT 0, | |
| PRIMARY KEY (schedule_version_id, activity_id) | |
| ); | |
| CREATE INDEX idx_scheduled_activities_activity | |
| ON scheduled_activities (activity_id, schedule_version_id DESC); | |
| -- down | |
| DROP TABLE scheduled_activities; | |
| DROP TABLE schedule_versions; | |