enigma-bbs/misc/update/tables_update_2020-11-29.sql

42 lines
1.3 KiB
PL/PgSQL

PRAGMA foreign_keys=OFF;
BEGIN;
CREATE TABLE IF NOT EXISTS file_hash_tag_new (
hash_tag_id INTEGER NOT NULL,
file_id INTEGER NOT NULL,
UNIQUE(hash_tag_id, file_id),
FOREIGN KEY(file_id) REFERENCES file(file_id) ON DELETE CASCADE
);
INSERT INTO file_hash_tag_new SELECT * FROM file_hash_tag;
DROP TABLE file_hash_tag;
ALTER TABLE file_hash_tag_new RENAME TO file_hash_tag;
CREATE TABLE IF NOT EXISTS file_user_rating_new (
file_id INTEGER NOT NULL,
user_id INTEGER NOT NULL,
rating INTEGER NOT NULL,
UNIQUE(file_id, user_id),
FOREIGN KEY(file_id) REFERENCES file(file_id) ON DELETE CASCADE
);
INSERT INTO file_user_rating_new SELECT * FROM file_user_rating;
DROP TABLE file_user_rating;
ALTER TABLE file_user_rating_new RENAME TO file_user_rating;
CREATE TABLE IF NOT EXISTS file_web_serve_batch_new (
hash_id VARCHAR NOT NULL,
file_id INTEGER NOT NULL,
UNIQUE(hash_id, file_id),
FOREIGN KEY(file_id) REFERENCES file(file_id) ON DELETE CASCADE
);
INSERT INTO file_web_serve_batch_new SELECT * FROM file_web_serve_batch;
DROP TABLE file_web_serve_batch;
ALTER TABLE file_web_serve_batch_new RENAME TO file_web_serve_batch;
PRAGMA foreign_key_check;
COMMIT;
PRAGMA foreign_keys=ON;