-- description: Creation of the configurable set checkboxes PRAGMA foreign_keys = ON; BEGIN TRANSACTION; -- Create a table to define each set checkbox: with an ID, a name and if they should be displayed on the grid cards CREATE TABLE "bricktracker_set_checkboxes" ( "id" TEXT NOT NULL, "name" TEXT NOT NULL, "displayed_on_grid" BOOLEAN NOT NULL DEFAULT 0, PRIMARY KEY("id") ); -- Seed our checkbox with the 3 original ones INSERT INTO "bricktracker_set_checkboxes" ( "id", "name", "displayed_on_grid" ) VALUES ( "minifigures_collected", "Minifigures are collected", 1 ); INSERT INTO "bricktracker_set_checkboxes" ( "id", "name", "displayed_on_grid" ) VALUES ( "set_checked", "Set is checked", 1 ); INSERT INTO "bricktracker_set_checkboxes" ( "id", "name", "displayed_on_grid" ) VALUES ( "set_collected", "Set is collected and boxed", 1 ); -- Create a table for the status of each checkbox: with the 3 first status CREATE TABLE "bricktracker_set_statuses" ( "bricktracker_set_id" TEXT NOT NULL, "status_minifigures_collected" BOOLEAN NOT NULL DEFAULT 0, "status_set_checked" BOOLEAN NOT NULL DEFAULT 0, "status_set_collected" BOOLEAN NOT NULL DEFAULT 0, PRIMARY KEY("bricktracker_set_id"), FOREIGN KEY("bricktracker_set_id") REFERENCES "bricktracker_sets"("id") ); INSERT INTO "bricktracker_set_statuses" ( "bricktracker_set_id", "status_minifigures_collected", "status_set_checked", "status_set_collected" ) SELECT "sets"."u_id", "sets"."mini_col", "sets"."set_check", "sets"."set_col" FROM "sets"; -- Rename the original table (don't delete it yet?) ALTER TABLE "sets" RENAME TO "sets_old"; COMMIT;