xtablo-source/backend/migrations/0007_etapes.sql
2026-05-15 22:40:25 +02:00

27 lines
829 B
SQL

-- migrations/0007_etapes.sql
-- Phase 9: Etapes
-- +goose Up
CREATE TABLE etapes (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
tablo_id uuid NOT NULL REFERENCES tablos(id) ON DELETE CASCADE,
title text NOT NULL,
description text,
position integer NOT NULL DEFAULT 100,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now()
);
CREATE INDEX etapes_tablo_id_position_idx ON etapes(tablo_id, position);
ALTER TABLE tasks
ADD COLUMN etape_id uuid REFERENCES etapes(id) ON DELETE SET NULL;
CREATE INDEX tasks_tablo_id_etape_id_idx ON tasks(tablo_id, etape_id);
-- +goose Down
DROP INDEX IF EXISTS tasks_tablo_id_etape_id_idx;
ALTER TABLE tasks DROP COLUMN IF EXISTS etape_id;
DROP TABLE IF EXISTS etapes;