-- PENDING CREATE TABLE price_lists ( id uuid NOT NULL, name character varying NOT NULL, description character varying NOT NULL, type price_list_types DEFAULT 'sale'::price_list_types NOT NULL, status price_list_statuses DEFAULT 'draft'::price_list_statuses NOT NULL, starts_at timestamp with time zone, ends_at timestamp with time zone, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, deleted_at timestamp with time zone ); CREATE TABLE price_list_customer_groups ( price_list_id uuid NOT NULL, customer_group_id uuid NOT NULL ); CREATE TABLE products ( id uuid NOT NULL, title character varying NOT NULL, subtitle character varying, description character varying, handle character varying, is_giftcard boolean DEFAULT false NOT NULL, thumbnail character varying, profile_id uuid NOT NULL, weight integer, length integer, height integer, width integer, hs_code character varying, origin_country character varying, mid_code character varying, material character varying, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, deleted_at timestamp with time zone, metadata jsonb, collection_id uuid, type_id uuid, discountable boolean DEFAULT true NOT NULL, status product_statuses DEFAULT 'draft'::product_statuses NOT NULL, external_id uuid ); CREATE TABLE product_categories ( id uuid NOT NULL, name text NOT NULL, handle text NOT NULL, parent_category_id uuid, mpath text, is_active boolean DEFAULT false, is_internal boolean DEFAULT false, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, rank integer DEFAULT 0 NOT NULL, description text DEFAULT ''::text NOT NULL, CONSTRAINT product_category_rank_check CHECK ((rank >= 0)) ); CREATE TABLE product_category_products ( product_category_id uuid NOT NULL, product_id uuid NOT NULL ); CREATE TABLE product_collections ( id uuid NOT NULL, title character varying NOT NULL, handle character varying, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, deleted_at timestamp with time zone, metadata jsonb ); CREATE TABLE product_images ( product_id uuid NOT NULL, image_id uuid NOT NULL ); CREATE TABLE product_options ( id uuid NOT NULL, title character varying NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, deleted_at timestamp with time zone, metadata jsonb, product_id uuid ); CREATE TABLE product_option_values ( id uuid NOT NULL, value character varying NOT NULL, option_id uuid NOT NULL, variant_id uuid NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, deleted_at timestamp with time zone, metadata jsonb ); CREATE TABLE product_sales_channels ( product_id uuid NOT NULL, sales_channel_id uuid NOT NULL ); CREATE TABLE product_tags ( id uuid NOT NULL, value character varying NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, deleted_at timestamp with time zone, metadata jsonb ); CREATE TABLE product_to_tags ( product_id uuid NOT NULL, product_tag_id uuid NOT NULL ); CREATE TABLE product_tax_rates ( product_id uuid NOT NULL, rate_id uuid NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, metadata jsonb ); CREATE TABLE product_types ( id uuid NOT NULL, value character varying NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, deleted_at timestamp with time zone, metadata jsonb ); CREATE TABLE product_type_tax_rates ( product_type_id uuid NOT NULL, rate_id uuid NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, metadata jsonb ); CREATE TABLE product_variants ( id uuid NOT NULL, title character varying NOT NULL, product_id uuid NOT NULL, sku character varying, barcode character varying, ean character varying, upc character varying, inventory_quantity integer NOT NULL, allow_backorder boolean DEFAULT false NOT NULL, manage_inventory boolean DEFAULT true NOT NULL, hs_code character varying, origin_country character varying, mid_code character varying, material character varying, weight integer, length integer, height integer, width integer, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, deleted_at timestamp with time zone, metadata jsonb, variant_rank integer DEFAULT 0 ); CREATE TABLE product_variant_inventory_items ( id uuid NOT NULL, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, inventory_item_id text NOT NULL, variant_id text NOT NULL, required_quantity integer DEFAULT 1 NOT NULL, deleted_at timestamp with time zone ); CREATE TABLE money_amounts ( id uuid NOT NULL, currency_code character varying NOT NULL, amount integer NOT NULL, variant_id uuid, region_id uuid, created_at timestamp with time zone DEFAULT now() NOT NULL, updated_at timestamp with time zone DEFAULT now() NOT NULL, deleted_at timestamp with time zone, min_quantity integer, max_quantity integer, price_list_id uuid );