mirror of
https://gitea.baerentsen.space/FrederikBaerentsen/BrickTracker.git
synced 2026-01-06 08:59:46 -06:00
Compute and display number of parts for minifigures
This commit is contained in:
32
bricktracker/sql/migrations/0015.sql
Normal file
32
bricktracker/sql/migrations/0015.sql
Normal file
@@ -0,0 +1,32 @@
|
||||
-- description: Add number of parts for minifigures
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
-- Add the number_of_parts column to the minifigures
|
||||
ALTER TABLE "rebrickable_minifigures"
|
||||
ADD COLUMN "number_of_parts" INTEGER NOT NULL DEFAULT 0;
|
||||
|
||||
-- Update the number of parts for each minifigure
|
||||
UPDATE "rebrickable_minifigures"
|
||||
SET "number_of_parts" = "parts_sum"."number_of_parts"
|
||||
FROM (
|
||||
SELECT
|
||||
"parts"."figure",
|
||||
SUM("parts"."quantity") as "number_of_parts"
|
||||
FROM (
|
||||
SELECT
|
||||
"bricktracker_parts"."figure",
|
||||
"bricktracker_parts"."quantity"
|
||||
FROM "bricktracker_parts"
|
||||
WHERE "bricktracker_parts"."figure" IS NOT NULL
|
||||
GROUP BY
|
||||
"bricktracker_parts"."figure",
|
||||
"bricktracker_parts"."part",
|
||||
"bricktracker_parts"."color",
|
||||
"bricktracker_parts"."spare"
|
||||
) "parts"
|
||||
GROUP BY "parts"."figure"
|
||||
) "parts_sum"
|
||||
WHERE "rebrickable_minifigures"."figure" = "parts_sum"."figure";
|
||||
|
||||
COMMIT;
|
||||
@@ -2,6 +2,7 @@ SELECT
|
||||
"bricktracker_minifigures"."quantity",
|
||||
"rebrickable_minifigures"."figure",
|
||||
"rebrickable_minifigures"."number",
|
||||
"rebrickable_minifigures"."number_of_parts",
|
||||
"rebrickable_minifigures"."name",
|
||||
"rebrickable_minifigures"."image",
|
||||
{% block total_missing %}
|
||||
|
||||
@@ -2,16 +2,19 @@ INSERT OR IGNORE INTO "rebrickable_minifigures" (
|
||||
"figure",
|
||||
"number",
|
||||
"name",
|
||||
"image"
|
||||
"image",
|
||||
"number_of_parts"
|
||||
) VALUES (
|
||||
:figure,
|
||||
:number,
|
||||
:name,
|
||||
:image
|
||||
:image,
|
||||
:number_of_parts
|
||||
)
|
||||
ON CONFLICT("figure")
|
||||
DO UPDATE SET
|
||||
"number" = :number,
|
||||
"name" = :name,
|
||||
"image" = :image
|
||||
"image" = :image,
|
||||
"number_of_parts" = :number_of_parts
|
||||
WHERE "rebrickable_minifigures"."figure" IS NOT DISTINCT FROM :figure
|
||||
|
||||
Reference in New Issue
Block a user