init push
This commit is contained in:
54
migrations/20260612_base_operational_shift_times.sql
Normal file
54
migrations/20260612_base_operational_shift_times.sql
Normal file
@@ -0,0 +1,54 @@
|
||||
-- +goose Up
|
||||
-- Legacy/manual migration kept for reference. Canonical goose migration:
|
||||
-- migrations/goose/20260613_base_operational_shift_times_date_range.sql
|
||||
|
||||
ALTER TABLE base_operational_shift_times
|
||||
ADD COLUMN IF NOT EXISTS date_start DATE NULL AFTER base_id,
|
||||
ADD COLUMN IF NOT EXISTS date_end DATE NULL AFTER date_start;
|
||||
|
||||
UPDATE base_operational_shift_times
|
||||
SET date_start = COALESCE(date_start, operation_date),
|
||||
date_end = COALESCE(date_end, operation_date)
|
||||
WHERE deleted_at IS NULL;
|
||||
|
||||
ALTER TABLE base_operational_shift_times
|
||||
DROP FOREIGN KEY fk_base_operational_shift_times_base;
|
||||
|
||||
ALTER TABLE base_operational_shift_times
|
||||
DROP INDEX idx_base_operational_shift_times_base_date;
|
||||
|
||||
ALTER TABLE base_operational_shift_times
|
||||
DROP COLUMN operation_date;
|
||||
|
||||
ALTER TABLE base_operational_shift_times
|
||||
ADD KEY idx_base_operational_shift_times_base_date (base_id, date_start, date_end),
|
||||
MODIFY COLUMN date_start DATE NULL,
|
||||
MODIFY COLUMN date_end DATE NULL,
|
||||
ADD CONSTRAINT fk_base_operational_shift_times_base
|
||||
FOREIGN KEY (base_id) REFERENCES bases(id)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE;
|
||||
|
||||
-- +goose Down
|
||||
ALTER TABLE base_operational_shift_times
|
||||
ADD COLUMN IF NOT EXISTS operation_date DATE NULL AFTER base_id;
|
||||
|
||||
UPDATE base_operational_shift_times
|
||||
SET operation_date = COALESCE(operation_date, date_start)
|
||||
WHERE deleted_at IS NULL;
|
||||
|
||||
ALTER TABLE base_operational_shift_times
|
||||
DROP FOREIGN KEY fk_base_operational_shift_times_base;
|
||||
|
||||
ALTER TABLE base_operational_shift_times
|
||||
DROP INDEX idx_base_operational_shift_times_base_date;
|
||||
|
||||
ALTER TABLE base_operational_shift_times
|
||||
ADD KEY idx_base_operational_shift_times_base_date (base_id, operation_date),
|
||||
DROP COLUMN date_start,
|
||||
DROP COLUMN date_end,
|
||||
MODIFY COLUMN operation_date DATE NOT NULL,
|
||||
ADD CONSTRAINT fk_base_operational_shift_times_base
|
||||
FOREIGN KEY (base_id) REFERENCES bases(id)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE;
|
||||
Reference in New Issue
Block a user