diff --git a/drizzle/20260405194139_orange_jack_murdock/migration.sql b/drizzle/20260405194139_orange_jack_murdock/migration.sql new file mode 100644 index 0000000..7ab76b1 --- /dev/null +++ b/drizzle/20260405194139_orange_jack_murdock/migration.sql @@ -0,0 +1,132 @@ +CREATE SCHEMA "pokemon"; +--> statement-breakpoint +CREATE TABLE "pokemon"."cards" ( + "card_id" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "pokemon"."cards_card_id_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1), + "product_id" integer NOT NULL, + "variant" varchar(100) NOT NULL, + "product_name" varchar(255), + "product_line_name" varchar(255), + "product_url_name" varchar(255) DEFAULT '' NOT NULL, + "rarity_name" varchar(100), + "sealed" boolean DEFAULT false NOT NULL, + "set_id" integer, + "card_type" varchar(100), + "energy_type" varchar(100), + "number" varchar(50), + "artist" varchar(255) +); +--> statement-breakpoint +CREATE TABLE "pokemon"."inventory" ( + "inventory_id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), + "user_id" varchar(100) NOT NULL, + "catalog_name" varchar(100), + "card_id" integer NOT NULL, + "condition" varchar(255) NOT NULL, + "quantity" integer, + "purchase_price" numeric(10,2), + "note" varchar(255) +); +--> statement-breakpoint +CREATE TABLE "pokemon"."price_history" ( + "sku_id" integer, + "calculated_at" timestamp, + "market_price" numeric(10,2), + CONSTRAINT "pk_price_history" PRIMARY KEY("sku_id","calculated_at") +); +--> statement-breakpoint +CREATE TABLE "pokemon"."processing_skus" ( + "sku_id" integer PRIMARY KEY +); +--> statement-breakpoint +CREATE TABLE "pokemon"."sales_history" ( + "sku_id" integer, + "order_date" timestamp, + "title" varchar(255), + "custom_listing_id" varchar(255), + "language" varchar(100), + "listing_type" varchar(100), + "purchase_price" numeric(10,2), + "quantity" integer, + "shipping_price" numeric(10,2), + CONSTRAINT "pk_sales_history" PRIMARY KEY("sku_id","order_date") +); +--> statement-breakpoint +CREATE TABLE "pokemon"."sets" ( + "set_id" integer PRIMARY KEY, + "set_name" varchar(255) NOT NULL, + "set_url_name" varchar(255) NOT NULL, + "set_code" varchar(100) NOT NULL +); +--> statement-breakpoint +CREATE TABLE "pokemon"."skus" ( + "sku_id" integer PRIMARY KEY, + "card_id" integer DEFAULT 0 NOT NULL, + "product_id" integer NOT NULL, + "condition" varchar(255) NOT NULL, + "language" varchar(100) NOT NULL, + "variant" varchar(100) NOT NULL, + "calculated_at" timestamp, + "highest_price" numeric(10,2), + "lowest_price" numeric(10,2), + "market_price" numeric(10,2), + "price_count" integer +); +--> statement-breakpoint +CREATE TABLE "pokemon"."tcg_overrides" ( + "product_id" integer PRIMARY KEY, + "product_name" varchar(255), + "product_line_name" varchar(255), + "product_url_name" varchar(255) DEFAULT '' NOT NULL, + "rarity_name" varchar(100), + "sealed" boolean DEFAULT false NOT NULL, + "set_id" integer, + "card_type" varchar(100), + "energy_type" varchar(100), + "number" varchar(50), + "artist" varchar(255) +); +--> statement-breakpoint +CREATE TABLE "pokemon"."tcg_cards" ( + "product_id" integer PRIMARY KEY, + "product_name" varchar(255) NOT NULL, + "product_line_name" varchar(255) DEFAULT '' NOT NULL, + "product_line_url_name" varchar(255) DEFAULT '' NOT NULL, + "product_status_id" integer DEFAULT 0 NOT NULL, + "product_type_id" integer DEFAULT 0 NOT NULL, + "product_url_name" varchar(255) DEFAULT '' NOT NULL, + "rarity_name" varchar(100) DEFAULT '' NOT NULL, + "sealed" boolean DEFAULT false NOT NULL, + "seller_listable" boolean DEFAULT false NOT NULL, + "set_id" integer, + "shipping_category_id" integer, + "duplicate" boolean DEFAULT false NOT NULL, + "foil_only" boolean DEFAULT false NOT NULL, + "max_fulfillable_quantity" integer, + "total_listings" integer, + "score" numeric(10,2), + "lowest_price" numeric(10,2), + "lowest_price_with_shipping" numeric(10,2), + "market_price" numeric(10,2), + "median_price" numeric(10,2), + "attack1" varchar(1024), + "attack2" varchar(1024), + "attack3" varchar(1024), + "attack4" varchar(1024), + "card_type" varchar(100), + "card_type_b" varchar(100), + "energy_type" varchar(100), + "flavor_text" varchar(1000), + "hp" integer, + "number" varchar(50) DEFAULT '' NOT NULL, + "release_date" timestamp, + "resistance" varchar(100), + "retreat_cost" varchar(100), + "stage" varchar(100), + "weakness" varchar(100), + "artist" varchar(255) +); +--> statement-breakpoint +CREATE INDEX "idx_card_product_id" ON "pokemon"."cards" ("product_id","variant");--> statement-breakpoint +CREATE INDEX "idx_userid_cardid" ON "pokemon"."inventory" ("user_id","card_id");--> statement-breakpoint +CREATE INDEX "idx_product_id_condition" ON "pokemon"."skus" ("product_id","variant","condition");--> statement-breakpoint +CREATE INDEX "idx_card_id_condition" ON "pokemon"."skus" ("card_id","condition"); \ No newline at end of file diff --git a/drizzle/20260405194139_orange_jack_murdock/snapshot.json b/drizzle/20260405194139_orange_jack_murdock/snapshot.json new file mode 100644 index 0000000..d7f48c2 --- /dev/null +++ b/drizzle/20260405194139_orange_jack_murdock/snapshot.json @@ -0,0 +1,1550 @@ +{ + "version": "8", + "dialect": "postgres", + "id": "60525980-503e-4daa-8e48-e854ebdecb09", + "prevIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "ddl": [ + { + "name": "pokemon", + "entityType": "schemas" + }, + { + "isRlsEnabled": false, + "name": "cards", + "entityType": "tables", + "schema": "pokemon" + }, + { + "isRlsEnabled": false, + "name": "inventory", + "entityType": "tables", + "schema": "pokemon" + }, + { + "isRlsEnabled": false, + "name": "price_history", + "entityType": "tables", + "schema": "pokemon" + }, + { + "isRlsEnabled": false, + "name": "processing_skus", + "entityType": "tables", + "schema": "pokemon" + }, + { + "isRlsEnabled": false, + "name": "sales_history", + "entityType": "tables", + "schema": "pokemon" + }, + { + "isRlsEnabled": false, + "name": "sets", + "entityType": "tables", + "schema": "pokemon" + }, + { + "isRlsEnabled": false, + "name": "skus", + "entityType": "tables", + "schema": "pokemon" + }, + { + "isRlsEnabled": false, + "name": "tcg_overrides", + "entityType": "tables", + "schema": "pokemon" + }, + { + "isRlsEnabled": false, + "name": "tcg_cards", + "entityType": "tables", + "schema": "pokemon" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": { + "type": "always", + "name": "cards_card_id_seq", + "increment": "1", + "startWith": "1", + "minValue": "1", + "maxValue": "2147483647", + "cache": 1, + "cycle": false + }, + "name": "card_id", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "product_id", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "variant", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "product_name", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "product_line_name", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "''", + "generated": null, + "identity": null, + "name": "product_url_name", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "rarity_name", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "boolean", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "false", + "generated": null, + "identity": null, + "name": "sealed", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "set_id", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "card_type", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "energy_type", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "varchar(50)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "number", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "artist", + "entityType": "columns", + "schema": "pokemon", + "table": "cards" + }, + { + "type": "uuid", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "gen_random_uuid()", + "generated": null, + "identity": null, + "name": "inventory_id", + "entityType": "columns", + "schema": "pokemon", + "table": "inventory" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "user_id", + "entityType": "columns", + "schema": "pokemon", + "table": "inventory" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "catalog_name", + "entityType": "columns", + "schema": "pokemon", + "table": "inventory" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "card_id", + "entityType": "columns", + "schema": "pokemon", + "table": "inventory" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "condition", + "entityType": "columns", + "schema": "pokemon", + "table": "inventory" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "quantity", + "entityType": "columns", + "schema": "pokemon", + "table": "inventory" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "purchase_price", + "entityType": "columns", + "schema": "pokemon", + "table": "inventory" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "note", + "entityType": "columns", + "schema": "pokemon", + "table": "inventory" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "sku_id", + "entityType": "columns", + "schema": "pokemon", + "table": "price_history" + }, + { + "type": "timestamp", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "calculated_at", + "entityType": "columns", + "schema": "pokemon", + "table": "price_history" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "market_price", + "entityType": "columns", + "schema": "pokemon", + "table": "price_history" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "sku_id", + "entityType": "columns", + "schema": "pokemon", + "table": "processing_skus" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "sku_id", + "entityType": "columns", + "schema": "pokemon", + "table": "sales_history" + }, + { + "type": "timestamp", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "order_date", + "entityType": "columns", + "schema": "pokemon", + "table": "sales_history" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "title", + "entityType": "columns", + "schema": "pokemon", + "table": "sales_history" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "custom_listing_id", + "entityType": "columns", + "schema": "pokemon", + "table": "sales_history" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "language", + "entityType": "columns", + "schema": "pokemon", + "table": "sales_history" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "listing_type", + "entityType": "columns", + "schema": "pokemon", + "table": "sales_history" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "purchase_price", + "entityType": "columns", + "schema": "pokemon", + "table": "sales_history" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "quantity", + "entityType": "columns", + "schema": "pokemon", + "table": "sales_history" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "shipping_price", + "entityType": "columns", + "schema": "pokemon", + "table": "sales_history" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "set_id", + "entityType": "columns", + "schema": "pokemon", + "table": "sets" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "set_name", + "entityType": "columns", + "schema": "pokemon", + "table": "sets" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "set_url_name", + "entityType": "columns", + "schema": "pokemon", + "table": "sets" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "set_code", + "entityType": "columns", + "schema": "pokemon", + "table": "sets" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "sku_id", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "0", + "generated": null, + "identity": null, + "name": "card_id", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "product_id", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "condition", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "language", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "variant", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "timestamp", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "calculated_at", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "highest_price", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "lowest_price", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "market_price", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "price_count", + "entityType": "columns", + "schema": "pokemon", + "table": "skus" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "product_id", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "product_name", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "product_line_name", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "''", + "generated": null, + "identity": null, + "name": "product_url_name", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "rarity_name", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "boolean", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "false", + "generated": null, + "identity": null, + "name": "sealed", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "set_id", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "card_type", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "energy_type", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "varchar(50)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "number", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "artist", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_overrides" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "product_id", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "product_name", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "''", + "generated": null, + "identity": null, + "name": "product_line_name", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "''", + "generated": null, + "identity": null, + "name": "product_line_url_name", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "0", + "generated": null, + "identity": null, + "name": "product_status_id", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "0", + "generated": null, + "identity": null, + "name": "product_type_id", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "''", + "generated": null, + "identity": null, + "name": "product_url_name", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "''", + "generated": null, + "identity": null, + "name": "rarity_name", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "boolean", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "false", + "generated": null, + "identity": null, + "name": "sealed", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "boolean", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "false", + "generated": null, + "identity": null, + "name": "seller_listable", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "set_id", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "shipping_category_id", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "boolean", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "false", + "generated": null, + "identity": null, + "name": "duplicate", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "boolean", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "false", + "generated": null, + "identity": null, + "name": "foil_only", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "max_fulfillable_quantity", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "total_listings", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "score", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "lowest_price", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "lowest_price_with_shipping", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "market_price", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "numeric(10,2)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "median_price", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(1024)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "attack1", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(1024)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "attack2", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(1024)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "attack3", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(1024)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "attack4", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "card_type", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "card_type_b", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "energy_type", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(1000)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "flavor_text", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "integer", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "hp", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(50)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "''", + "generated": null, + "identity": null, + "name": "number", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "timestamp", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "release_date", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "resistance", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "retreat_cost", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "stage", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(100)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "weakness", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "artist", + "entityType": "columns", + "schema": "pokemon", + "table": "tcg_cards" + }, + { + "nameExplicit": true, + "columns": [ + { + "value": "product_id", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + }, + { + "value": "variant", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + } + ], + "isUnique": false, + "where": null, + "with": "", + "method": "btree", + "concurrently": false, + "name": "idx_card_product_id", + "entityType": "indexes", + "schema": "pokemon", + "table": "cards" + }, + { + "nameExplicit": true, + "columns": [ + { + "value": "user_id", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + }, + { + "value": "card_id", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + } + ], + "isUnique": false, + "where": null, + "with": "", + "method": "btree", + "concurrently": false, + "name": "idx_userid_cardid", + "entityType": "indexes", + "schema": "pokemon", + "table": "inventory" + }, + { + "nameExplicit": true, + "columns": [ + { + "value": "product_id", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + }, + { + "value": "variant", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + }, + { + "value": "condition", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + } + ], + "isUnique": false, + "where": null, + "with": "", + "method": "btree", + "concurrently": false, + "name": "idx_product_id_condition", + "entityType": "indexes", + "schema": "pokemon", + "table": "skus" + }, + { + "nameExplicit": true, + "columns": [ + { + "value": "card_id", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + }, + { + "value": "condition", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + } + ], + "isUnique": false, + "where": null, + "with": "", + "method": "btree", + "concurrently": false, + "name": "idx_card_id_condition", + "entityType": "indexes", + "schema": "pokemon", + "table": "skus" + }, + { + "columns": [ + "sku_id", + "calculated_at" + ], + "nameExplicit": true, + "name": "pk_price_history", + "entityType": "pks", + "schema": "pokemon", + "table": "price_history" + }, + { + "columns": [ + "sku_id", + "order_date" + ], + "nameExplicit": true, + "name": "pk_sales_history", + "entityType": "pks", + "schema": "pokemon", + "table": "sales_history" + }, + { + "columns": [ + "card_id" + ], + "nameExplicit": false, + "name": "cards_pkey", + "schema": "pokemon", + "table": "cards", + "entityType": "pks" + }, + { + "columns": [ + "inventory_id" + ], + "nameExplicit": false, + "name": "inventory_pkey", + "schema": "pokemon", + "table": "inventory", + "entityType": "pks" + }, + { + "columns": [ + "sku_id" + ], + "nameExplicit": false, + "name": "processing_skus_pkey", + "schema": "pokemon", + "table": "processing_skus", + "entityType": "pks" + }, + { + "columns": [ + "set_id" + ], + "nameExplicit": false, + "name": "sets_pkey", + "schema": "pokemon", + "table": "sets", + "entityType": "pks" + }, + { + "columns": [ + "sku_id" + ], + "nameExplicit": false, + "name": "skus_pkey", + "schema": "pokemon", + "table": "skus", + "entityType": "pks" + }, + { + "columns": [ + "product_id" + ], + "nameExplicit": false, + "name": "tcg_overrides_pkey", + "schema": "pokemon", + "table": "tcg_overrides", + "entityType": "pks" + }, + { + "columns": [ + "product_id" + ], + "nameExplicit": false, + "name": "tcg_cards_pkey", + "schema": "pokemon", + "table": "tcg_cards", + "entityType": "pks" + } + ], + "renames": [] +} \ No newline at end of file diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss index 7700a0d..f424f66 100644 --- a/src/assets/css/main.scss +++ b/src/assets/css/main.scss @@ -172,6 +172,16 @@ html { } } +.col:has(.image-grow:hover) .inventory-button { + opacity: 0.20; + transition: opacity 350ms ease; +} + +.inventory-button { + // add transition to existing rule + transition: opacity 350ms ease; +} + .card-modal { background-color: rgba(1, 11, 18, 0.8); cursor: default; @@ -482,7 +492,7 @@ $cond-text: ( .inventory-button { margin-bottom: -2.25rem; - margin-right: -0.5rem; + margin-right: -0.25rem; z-index: 2; } diff --git a/src/components/CardGrid.astro b/src/components/CardGrid.astro index c0e9fc4..2ab5d6d 100644 --- a/src/components/CardGrid.astro +++ b/src/components/CardGrid.astro @@ -47,6 +47,82 @@ import BackToTop from "./BackToTop.astro"