From 7681e421edb3933c8727cb0936bc8310d79df6e2 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Fri, 28 Nov 2025 22:46:28 -0500 Subject: fix: change news image table to handle multiple images for each post --- migrations/001_migrate_news_images_to_multi.sql | 14 ++++++++++++++ schema.sql | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 migrations/001_migrate_news_images_to_multi.sql diff --git a/migrations/001_migrate_news_images_to_multi.sql b/migrations/001_migrate_news_images_to_multi.sql new file mode 100644 index 0000000..beb4b05 --- /dev/null +++ b/migrations/001_migrate_news_images_to_multi.sql @@ -0,0 +1,14 @@ +-- migrates old news image table from single images to multi per news +PRAGMA foreign_keys = OFF; +CREATE TABLE news_images_new ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + news_id VARCHAR(255) NOT NULL, + image_url TEXT NOT NULL, + link_url TEXT, + FOREIGN KEY (news_id) REFERENCES news(news_id) ON DELETE CASCADE +); +INSERT INTO news_images_new (news_id, image_url, link_url) +SELECT news_id, image_url, link_url FROM news_images; +DROP TABLE news_images; +ALTER TABLE news_images_new RENAME TO news_images; +PRAGMA foreign_keys = ON; diff --git a/schema.sql b/schema.sql index 88e1120..dc32e3e 100644 --- a/schema.sql +++ b/schema.sql @@ -13,7 +13,8 @@ CREATE TABLE IF NOT EXISTS news ( ); CREATE TABLE IF NOT EXISTS news_images ( - news_id VARCHAR(255) NOT NULL PRIMARY KEY, + id INTEGER PRIMARY KEY AUTOINCREMENT, + news_id VARCHAR(255) NOT NULL, image_url TEXT NOT NULL, link_url TEXT, FOREIGN KEY (news_id) REFERENCES news(news_id) ON DELETE CASCADE -- cgit v1.2.3