Fix set storages and purchase locations to be normal metadata

This commit is contained in:
Gregoo 2025-02-03 10:56:32 +01:00
parent 7453d97c81
commit d0d1e53acc
2 changed files with 12 additions and 10 deletions

View File

@ -7,16 +7,18 @@ BEGIN TRANSACTION;
-- Rename sets table -- Rename sets table
ALTER TABLE "bricktracker_sets" RENAME TO "bricktracker_sets_old"; ALTER TABLE "bricktracker_sets" RENAME TO "bricktracker_sets_old";
-- Create a Bricktracker set storage table for later -- Create a Bricktracker metadata storage table for later
CREATE TABLE "bricktracker_set_storages" ( CREATE TABLE "bricktracker_metadata_storages" (
"id" TEXT NOT NULL,
"name" TEXT NOT NULL, "name" TEXT NOT NULL,
PRIMARY KEY("name") PRIMARY KEY("id")
); );
-- Create a Bricktracker set storage table for later -- Create a Bricktracker metadata purchase location table for later
CREATE TABLE "bricktracker_set_purchase_locations" ( CREATE TABLE "bricktracker_metadata_purchase_locations" (
"id" TEXT NOT NULL,
"name" TEXT NOT NULL, "name" TEXT NOT NULL,
PRIMARY KEY("name") PRIMARY KEY("id")
); );
-- Re-Create a Bricktracker set table with the simplified name -- Re-Create a Bricktracker set table with the simplified name
@ -30,8 +32,8 @@ CREATE TABLE "bricktracker_sets" (
"purchase_price" REAL, -- Purchase price "purchase_price" REAL, -- Purchase price
PRIMARY KEY("id"), PRIMARY KEY("id"),
FOREIGN KEY("set") REFERENCES "rebrickable_sets"("set"), FOREIGN KEY("set") REFERENCES "rebrickable_sets"("set"),
FOREIGN KEY("storage") REFERENCES "bricktracker_set_storages"("name"), FOREIGN KEY("storage") REFERENCES "bricktracker_metadata_storages"("id"),
FOREIGN KEY("purchase_location") REFERENCES "bricktracker_set_purchase_locations"("name") FOREIGN KEY("purchase_location") REFERENCES "bricktracker_metadata_purchase_locations"("id")
); );
-- Insert existing sets into the new table -- Insert existing sets into the new table

View File

@ -3,15 +3,15 @@ from typing import Tuple
# Some table aliases to make it look cleaner (id: (name, icon)) # Some table aliases to make it look cleaner (id: (name, icon))
ALIASES: dict[str, Tuple[str, str]] = { ALIASES: dict[str, Tuple[str, str]] = {
'bricktracker_metadata_owners': ('Bricktracker set owners metadata', 'user-line'), # noqa: E501 '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_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_metadata_tags': ('Bricktracker set tags metadata', 'price-tag-2-line'), # noqa: E501
'bricktracker_minifigures': ('Bricktracker minifigures', 'group-line'), 'bricktracker_minifigures': ('Bricktracker minifigures', 'group-line'),
'bricktracker_parts': ('Bricktracker parts', 'shapes-line'), 'bricktracker_parts': ('Bricktracker parts', 'shapes-line'),
'bricktracker_set_checkboxes': ('Bricktracker set checkboxes (legacy)', 'checkbox-line'), # noqa: E501 'bricktracker_set_checkboxes': ('Bricktracker set checkboxes (legacy)', 'checkbox-line'), # noqa: E501
'bricktracker_set_owners': ('Bricktracker set owners', '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_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_set_tags': ('Bricktracker set tags', 'price-tag-2-line'), # noqa: E501
'bricktracker_sets': ('Bricktracker sets', 'hashtag'), 'bricktracker_sets': ('Bricktracker sets', 'hashtag'),
'bricktracker_wishes': ('Bricktracker wishes', 'gift-line'), 'bricktracker_wishes': ('Bricktracker wishes', 'gift-line'),