diff --git a/bricktracker/sql/migrations/0007.sql b/bricktracker/sql/migrations/0007.sql index 89ef71f..7d52d33 100644 --- a/bricktracker/sql/migrations/0007.sql +++ b/bricktracker/sql/migrations/0007.sql @@ -7,16 +7,18 @@ BEGIN TRANSACTION; -- Rename sets table ALTER TABLE "bricktracker_sets" RENAME TO "bricktracker_sets_old"; --- Create a Bricktracker set storage table for later -CREATE TABLE "bricktracker_set_storages" ( +-- Create a Bricktracker metadata storage table for later +CREATE TABLE "bricktracker_metadata_storages" ( + "id" TEXT NOT NULL, "name" TEXT NOT NULL, - PRIMARY KEY("name") + PRIMARY KEY("id") ); --- Create a Bricktracker set storage table for later -CREATE TABLE "bricktracker_set_purchase_locations" ( +-- Create a Bricktracker metadata purchase location table for later +CREATE TABLE "bricktracker_metadata_purchase_locations" ( + "id" TEXT NOT NULL, "name" TEXT NOT NULL, - PRIMARY KEY("name") + PRIMARY KEY("id") ); -- Re-Create a Bricktracker set table with the simplified name @@ -30,8 +32,8 @@ CREATE TABLE "bricktracker_sets" ( "purchase_price" REAL, -- Purchase price PRIMARY KEY("id"), FOREIGN KEY("set") REFERENCES "rebrickable_sets"("set"), - FOREIGN KEY("storage") REFERENCES "bricktracker_set_storages"("name"), - FOREIGN KEY("purchase_location") REFERENCES "bricktracker_set_purchase_locations"("name") + FOREIGN KEY("storage") REFERENCES "bricktracker_metadata_storages"("id"), + FOREIGN KEY("purchase_location") REFERENCES "bricktracker_metadata_purchase_locations"("id") ); -- Insert existing sets into the new table diff --git a/bricktracker/sql_counter.py b/bricktracker/sql_counter.py index 7d8c882..e5b9262 100644 --- a/bricktracker/sql_counter.py +++ b/bricktracker/sql_counter.py @@ -3,15 +3,15 @@ from typing import Tuple # Some table aliases to make it look cleaner (id: (name, icon)) ALIASES: dict[str, Tuple[str, str]] = { 'bricktracker_metadata_owners': ('Bricktracker set owners metadata', 'user-line'), # noqa: E501 + 'bricktracker_metadata_purchase_locations': ('Bricktracker set purchase locations metadata', 'building-line'), # noqa: E501 'bricktracker_metadata_statuses': ('Bricktracker set status metadata', 'checkbox-line'), # noqa: E501 + 'bricktracker_metadata_storages': ('Bricktracker set storages metadata', 'archive-2-line'), # noqa: E501 'bricktracker_metadata_tags': ('Bricktracker set tags metadata', 'price-tag-2-line'), # noqa: E501 'bricktracker_minifigures': ('Bricktracker minifigures', 'group-line'), 'bricktracker_parts': ('Bricktracker parts', 'shapes-line'), 'bricktracker_set_checkboxes': ('Bricktracker set checkboxes (legacy)', 'checkbox-line'), # noqa: E501 'bricktracker_set_owners': ('Bricktracker set owners', 'checkbox-line'), # noqa: E501 - 'bricktracker_set_purchase_locations': ('Bricktracker set purchase locations', 'building-line'), # noqa: E501 'bricktracker_set_statuses': ('Bricktracker set statuses', 'user-line'), # noqa: E501 - 'bricktracker_set_storages': ('Bricktracker set storages', 'archive-2-line'), # noqa: E501 'bricktracker_set_tags': ('Bricktracker set tags', 'price-tag-2-line'), # noqa: E501 'bricktracker_sets': ('Bricktracker sets', 'hashtag'), 'bricktracker_wishes': ('Bricktracker wishes', 'gift-line'),