generated from VLADIMIR/template
up
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE playlist_groups (
|
||||
id SERIAL PRIMARY KEY,
|
||||
playlist_id INTEGER NOT NULL REFERENCES playlists(id) ON DELETE CASCADE,
|
||||
name VARCHAR(255) NOT NULL CHECK (length(trim(name)) > 0),
|
||||
position INTEGER NOT NULL CHECK (position >= 0),
|
||||
end_mode TEXT NOT NULL DEFAULT 'repeat' CHECK (end_mode IN ('repeat', 'stop', 'next')),
|
||||
UNIQUE (playlist_id, id)
|
||||
);
|
||||
ALTER TABLE playlist_tracks ADD COLUMN group_id INTEGER;
|
||||
ALTER TABLE playlist_tracks ADD CONSTRAINT playlist_tracks_group_fk
|
||||
FOREIGN KEY (playlist_id, group_id) REFERENCES playlist_groups(playlist_id, id);
|
||||
ALTER TABLE game_music_states ADD COLUMN group_id INTEGER;
|
||||
ALTER TABLE game_music_states ADD CONSTRAINT game_music_states_group_fk
|
||||
FOREIGN KEY (playlist_id, group_id) REFERENCES playlist_groups(playlist_id, id);
|
||||
|
||||
-- +goose Down
|
||||
ALTER TABLE game_music_states DROP COLUMN group_id;
|
||||
ALTER TABLE playlist_tracks DROP COLUMN group_id;
|
||||
DROP TABLE playlist_groups;
|
||||
Reference in New Issue
Block a user