40 lines
1.4 KiB
SQL
40 lines
1.4 KiB
SQL
CREATE TABLE IF NOT EXISTS nshift_shipments_status (
|
|
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
|
package_number TEXT NOT NULL UNIQUE,
|
|
order_id INT REFERENCES orders(id),
|
|
product_name TEXT,
|
|
carrier_name TEXT,
|
|
number TEXT,
|
|
order_number TEXT,
|
|
shipment_created TIMESTAMP WITH TIME ZONE NOT NULL,
|
|
in_transit TIMESTAMP WITH TIME ZONE,
|
|
delivered TIMESTAMP WITH TIME ZONE,
|
|
carrier_exception TIMESTAMP WITH TIME ZONE,
|
|
receiver_exception TIMESTAMP WITH TIME ZONE,
|
|
sender_exception TIMESTAMP WITH TIME ZONE,
|
|
latest_event_status_id INT,
|
|
latest_event_status_text TEXT,
|
|
latest_event_date TIMESTAMP WITH TIME ZONE
|
|
);
|
|
|
|
CREATE OR REPLACE VIEW v_funnel_nshift_shipments AS
|
|
SELECT
|
|
nshift_shipments_status.package_number,
|
|
nshift_shipments_status.order_id,
|
|
nshift_shipments_status.product_name,
|
|
nshift_shipments_status.carrier_name,
|
|
orders.inserted AS order_created,
|
|
nshift_shipments_status.shipment_created,
|
|
nshift_shipments_status.in_transit,
|
|
nshift_shipments_status.delivered,
|
|
nshift_shipments_status.carrier_exception,
|
|
nshift_shipments_status.receiver_exception,
|
|
nshift_shipments_status.sender_exception,
|
|
nshift_shipments_status.latest_event_status_id,
|
|
nshift_shipments_status.latest_event_status_text,
|
|
nshift_shipments_status.latest_event_date
|
|
FROM nshift_shipments_status
|
|
LEFT JOIN orders ON order_id = orders.id;
|
|
|
|
GRANT SELECT ON TABLE v_funnel_nshift_shipments TO funnel;
|