mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
Feat[BE-221]: create So DO migration
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
DROP TABLE IF EXISTS marketing_delivery_products CASCADE;
|
||||
|
||||
DROP TABLE IF EXISTS marketing_products CASCADE;
|
||||
|
||||
DROP TABLE IF EXISTS marketings CASCADE;
|
||||
@@ -0,0 +1,44 @@
|
||||
CREATE TABLE marketings (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
so_number VARCHAR(255) UNIQUE NOT NULL,
|
||||
customer_id BIGINT NOT NULL,
|
||||
so_docs VARCHAR(20),
|
||||
so_date DATE NOT NULL,
|
||||
sales_person_id BIGINT NOT NULL,
|
||||
notes TEXT,
|
||||
created_by BIGINT NOT NULL,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
deleted_at TIMESTAMPTZ
|
||||
);
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1 FROM pg_tables WHERE tablename = 'customers') THEN
|
||||
ALTER TABLE marketings
|
||||
ADD CONSTRAINT fk_marketings_customer_id
|
||||
FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE RESTRICT;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT 1 FROM pg_tables WHERE tablename = 'users') THEN
|
||||
ALTER TABLE marketings
|
||||
ADD CONSTRAINT fk_marketings_sales_person_id
|
||||
FOREIGN KEY (sales_person_id) REFERENCES users(id) ON DELETE RESTRICT;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT 1 FROM pg_tables WHERE tablename = 'users') THEN
|
||||
ALTER TABLE marketings
|
||||
ADD CONSTRAINT fk_marketings_created_by
|
||||
FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE RESTRICT;
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
CREATE INDEX idx_marketings_customer_id ON marketings (customer_id);
|
||||
|
||||
CREATE INDEX idx_marketings_sales_person_id ON marketings (sales_person_id);
|
||||
|
||||
CREATE INDEX idx_marketings_created_by ON marketings (created_by);
|
||||
|
||||
CREATE INDEX idx_marketings_so_date ON marketings (so_date);
|
||||
|
||||
CREATE INDEX idx_marketings_deleted_at ON marketings (deleted_at);
|
||||
@@ -0,0 +1 @@
|
||||
DROP TABLE IF EXISTS marketing_products CASCADE;
|
||||
@@ -0,0 +1,34 @@
|
||||
CREATE TABLE marketing_products (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
marketing_id BIGINT NOT NULL,
|
||||
product_warehouse_id BIGINT NOT NULL,
|
||||
qty NUMERIC(15, 3) NOT NULL,
|
||||
unit_price NUMERIC(15, 3) NOT NULL,
|
||||
avg_weight NUMERIC(15, 3) NOT NULL,
|
||||
total_weight NUMERIC(15, 3) NOT NULL,
|
||||
total_price NUMERIC(15, 3) NOT NULL,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
deleted_at TIMESTAMPTZ
|
||||
);
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1 FROM pg_tables WHERE tablename = 'marketings') THEN
|
||||
ALTER TABLE marketing_products
|
||||
ADD CONSTRAINT fk_marketing_products_marketing_id
|
||||
FOREIGN KEY (marketing_id) REFERENCES marketings(id) ON DELETE CASCADE;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT 1 FROM pg_tables WHERE tablename = 'product_warehouses') THEN
|
||||
ALTER TABLE marketing_products
|
||||
ADD CONSTRAINT fk_marketing_products_product_warehouse_id
|
||||
FOREIGN KEY (product_warehouse_id) REFERENCES product_warehouses(id) ON DELETE RESTRICT;
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
CREATE INDEX idx_marketing_products_marketing_id ON marketing_products (marketing_id);
|
||||
|
||||
CREATE INDEX idx_marketing_products_product_warehouse_id ON marketing_products (product_warehouse_id);
|
||||
|
||||
CREATE INDEX idx_marketing_products_deleted_at ON marketing_products (deleted_at);
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
|
||||
DROP TABLE IF EXISTS marketing_delivery_products CASCADE;
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
CREATE TABLE marketing_delivery_products (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
marketing_product_id BIGINT UNIQUE NOT NULL,
|
||||
qty NUMERIC(15, 3) NOT NULL,
|
||||
unit_price NUMERIC(15, 3) NOT NULL,
|
||||
total_weight NUMERIC(15, 3) NOT NULL,
|
||||
avg_weight NUMERIC(15, 3) NOT NULL,
|
||||
total_price NUMERIC(15, 3) NOT NULL,
|
||||
delivery_date TIMESTAMPTZ,
|
||||
vehicle_number VARCHAR(50),
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
deleted_at TIMESTAMPTZ
|
||||
);
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1 FROM pg_tables WHERE tablename = 'marketing_products') THEN
|
||||
ALTER TABLE marketing_delivery_products
|
||||
ADD CONSTRAINT fk_marketing_delivery_products_marketing_product_id
|
||||
FOREIGN KEY (marketing_product_id) REFERENCES marketing_products(id) ON DELETE CASCADE;
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
CREATE INDEX idx_marketing_delivery_products_marketing_product_id ON marketing_delivery_products (marketing_product_id);
|
||||
|
||||
CREATE INDEX idx_marketing_delivery_products_delivery_date ON marketing_delivery_products (delivery_date);
|
||||
|
||||
CREATE INDEX idx_marketing_delivery_products_deleted_at ON marketing_delivery_products (deleted_at);
|
||||
Reference in New Issue
Block a user