feat: make DB IDs not null
This commit is contained in:
parent
ce876955b7
commit
7965998f43
8 changed files with 175 additions and 52 deletions
65
migrations/2025-05-04-055045_not_null_ids/down.sql
Normal file
65
migrations/2025-05-04-055045_not_null_ids/down.sql
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
--- magnets
|
||||
|
||||
ALTER TABLE magnets
|
||||
RENAME TO magnets_new;
|
||||
|
||||
CREATE TABLE magnets
|
||||
(
|
||||
id INTEGER PRIMARY KEY,
|
||||
title VARCHAR NOT NULL,
|
||||
submitter VARCHAR NOT NULL,
|
||||
subreddit VARCHAR NOT NULL,
|
||||
link VARCHAR NOT NULL,
|
||||
published_at DATETIME NOT NULL,
|
||||
imdb_id VARCHAR
|
||||
);
|
||||
|
||||
INSERT INTO magnets (id, title, submitter, subreddit, link, published_at, imdb_id)
|
||||
SELECT id, title, submitter, subreddit, link, published_at, imdb_id
|
||||
FROM magnets_new;
|
||||
|
||||
DROP TABLE magnets_new;
|
||||
|
||||
CREATE UNIQUE INDEX magnets_unique_link ON magnets (link);
|
||||
|
||||
--- bitmagnet_processed
|
||||
|
||||
ALTER TABLE bitmagnet_processed
|
||||
RENAME TO bitmagnet_processed_new;
|
||||
|
||||
CREATE TABLE bitmagnet_processed
|
||||
(
|
||||
id INTEGER PRIMARY KEY,
|
||||
magnet_id INTEGER NOT NULL,
|
||||
processed_at DATETIME NOT NULL,
|
||||
FOREIGN KEY (magnet_id) REFERENCES magnets (id)
|
||||
);
|
||||
|
||||
INSERT INTO bitmagnet_processed (id, magnet_id, processed_at)
|
||||
SELECT id, magnet_id, processed_at
|
||||
FROM bitmagnet_processed_new;
|
||||
|
||||
DROP TABLE bitmagnet_processed_new;
|
||||
|
||||
CREATE INDEX bitmagnet_processed_magnet_id ON bitmagnet_processed (magnet_id);
|
||||
|
||||
--- transmission_processed
|
||||
|
||||
ALTER TABLE transmission_processed
|
||||
RENAME TO transmission_processed_new;
|
||||
|
||||
CREATE TABLE transmission_processed
|
||||
(
|
||||
id INTEGER PRIMARY KEY,
|
||||
magnet_id INTEGER NOT NULL,
|
||||
processed_at DATETIME NOT NULL,
|
||||
FOREIGN KEY (magnet_id) REFERENCES magnets (id)
|
||||
);
|
||||
|
||||
INSERT INTO transmission_processed (id, magnet_id, processed_at)
|
||||
SELECT id, magnet_id, processed_at
|
||||
FROM transmission_processed_new;
|
||||
|
||||
DROP TABLE transmission_processed_new;
|
||||
|
||||
CREATE INDEX transmission_processed_magnet_id ON transmission_processed (magnet_id);
|
||||
Loading…
Add table
Add a link
Reference in a new issue