bazzar/crates/order_manager/migrations/202204131841_init.sql

57 lines
1.6 KiB
MySQL
Raw Permalink Normal View History

2022-11-29 15:18:31 +01:00
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TYPE "OrderStatus" AS ENUM (
'confirmed',
'cancelled',
'delivered',
'payed',
'require_refund',
'refunded'
);
CREATE TYPE "QuantityUnit" AS ENUM (
'g',
'dkg',
'kg',
'piece'
);
CREATE TYPE "OrderItemState" AS ENUM (
'valid',
'out_of_stock'
);
CREATE TABLE orders
(
id serial NOT NULL PRIMARY KEY,
buyer_id integer,
status "OrderStatus" DEFAULT 'confirmed'::"OrderStatus" NOT NULL,
order_ext_id uuid DEFAULT uuid_generate_v4() NOT NULL,
service_order_id text,
checkout_notes text,
address_id integer
);
CREATE TABLE order_addresses
(
id serial NOT NULL PRIMARY KEY,
2022-12-01 17:39:06 +01:00
"name" text NOT NULL,
2022-11-29 15:18:31 +01:00
email text NOT NULL,
street text NOT NULL,
city text NOT NULL,
country text NOT NULL,
zip text NOT NULL,
phone text NOT NULL
);
CREATE TABLE order_items
(
id serial NOT NULL PRIMARY KEY,
product_id integer NOT NULL,
order_id integer references orders (id) ON DELETE CASCADE NOT NULL,
quantity integer DEFAULT 0 NOT NULL,
quantity_unit "QuantityUnit" NOT NULL,
state "OrderItemState" DEFAULT 'valid'::"OrderItemState" NOT NULL,
CONSTRAINT positive_quantity CHECK ((quantity >= 0))
);