pastebin/migrations/2019-03-08-081008_remove-revision-system/down.sql

28 lines
866 B
MySQL
Raw Normal View History

CREATE TABLE paste_revisions (
paste_revision_id serial PRIMARY KEY,
created_at timestamp with time zone NOT NULL DEFAULT now(),
paste_id int NOT NULL REFERENCES pastes
);
CREATE INDEX ON paste_revisions(paste_id, created_at DESC);
CREATE TABLE paste_contents (
paste_content_id serial PRIMARY KEY,
paste_revision_id int NOT NULL REFERENCES paste_revisions,
language_id int NOT NULL REFERENCES languages,
paste text NOT NULL
);
CREATE INDEX ON paste_contents(paste_revision_id);
INSERT INTO paste_revisions (created_at, paste_id)
SELECT created_at, paste_id FROM pastes;
INSERT INTO paste_contents (paste_revision_id, language_id, paste)
SELECT paste_revision_id, language_id, paste FROM pastes NATURAL JOIN paste_revisions;
ALTER TABLE pastes
DROP COLUMN created_at,
DROP COLUMN language_id,
DROP COLUMN paste;