diff --git a/src/exporters/mysql_exporter.py b/src/exporters/mysql_exporter.py index da8ad25..231c783 100644 --- a/src/exporters/mysql_exporter.py +++ b/src/exporters/mysql_exporter.py @@ -171,7 +171,7 @@ -- ============================================= CREATE TABLE orders ( id INT NOT NULL AUTO_INCREMENT, - order_number VARCHAR(30) NOT NULL UNIQUE, + order_number VARCHAR(30) NOT NULL, customer_id INT NOT NULL, address_id INT NOT NULL, staff_id INT NULL, @@ -188,6 +188,7 @@ created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY (id, ordered_at), + UNIQUE KEY uq_order_number (order_number, ordered_at), INDEX idx_orders_customer (customer_id), INDEX idx_orders_status (status), INDEX idx_orders_ordered_at (ordered_at) diff --git a/src/exporters/postgresql_exporter.py b/src/exporters/postgresql_exporter.py index 436f770..2e881a7 100644 --- a/src/exporters/postgresql_exporter.py +++ b/src/exporters/postgresql_exporter.py @@ -231,7 +231,7 @@ -- ============================================= CREATE TABLE orders ( id INT GENERATED ALWAYS AS IDENTITY, - order_number VARCHAR(30) NOT NULL UNIQUE, + order_number VARCHAR(30) NOT NULL, customer_id INT NOT NULL, address_id INT NOT NULL, staff_id INT NULL, @@ -247,7 +247,8 @@ cancelled_at TIMESTAMP NULL, created_at TIMESTAMP NOT NULL, updated_at TIMESTAMP NOT NULL, - PRIMARY KEY (id, ordered_at) + PRIMARY KEY (id, ordered_at), + UNIQUE (order_number, ordered_at) ) PARTITION BY RANGE (ordered_at); CREATE TABLE orders_2015 PARTITION OF orders