28 lines
829 B
MySQL
28 lines
829 B
MySQL
|
|
-- 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;
|