mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-07 07:55:13 +02:00
52 lines
1.7 KiB
MySQL
52 lines
1.7 KiB
MySQL
|
|
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
|
||
|
|
|
||
|
|
CREATE ROLE app_user LOGIN PASSWORD 'app_pass';
|
||
|
|
CREATE ROLE etl_user LOGIN PASSWORD 'etl_pass';
|
||
|
|
CREATE ROLE klo_reader LOGIN PASSWORD 'klo_reader';
|
||
|
|
|
||
|
|
GRANT pg_read_all_stats TO klo_reader;
|
||
|
|
|
||
|
|
CREATE TABLE customers (
|
||
|
|
id integer PRIMARY KEY,
|
||
|
|
region text NOT NULL,
|
||
|
|
plan text NOT NULL
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE orders (
|
||
|
|
id integer PRIMARY KEY,
|
||
|
|
customer_id integer NOT NULL REFERENCES customers(id),
|
||
|
|
status text NOT NULL,
|
||
|
|
total numeric(12, 2) NOT NULL,
|
||
|
|
created_at timestamptz NOT NULL
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE events (
|
||
|
|
id integer PRIMARY KEY,
|
||
|
|
customer_id integer NOT NULL REFERENCES customers(id),
|
||
|
|
event_name text NOT NULL,
|
||
|
|
occurred_at timestamptz NOT NULL
|
||
|
|
);
|
||
|
|
|
||
|
|
INSERT INTO customers (id, region, plan) VALUES
|
||
|
|
(1, 'na', 'enterprise'),
|
||
|
|
(2, 'na', 'team'),
|
||
|
|
(3, 'eu', 'enterprise'),
|
||
|
|
(4, 'apac', 'team');
|
||
|
|
|
||
|
|
INSERT INTO orders (id, customer_id, status, total, created_at) VALUES
|
||
|
|
(1, 1, 'paid', 125.50, now() - interval '9 days'),
|
||
|
|
(2, 1, 'paid', 89.00, now() - interval '4 days'),
|
||
|
|
(3, 2, 'pending', 42.00, now() - interval '2 days'),
|
||
|
|
(4, 3, 'paid', 301.25, now() - interval '1 day'),
|
||
|
|
(5, 4, 'refunded', 77.70, now() - interval '3 hours');
|
||
|
|
|
||
|
|
INSERT INTO events (id, customer_id, event_name, occurred_at) VALUES
|
||
|
|
(1, 1, 'dashboard_viewed', now() - interval '1 day'),
|
||
|
|
(2, 1, 'export_started', now() - interval '8 hours'),
|
||
|
|
(3, 2, 'dashboard_viewed', now() - interval '7 hours'),
|
||
|
|
(4, 3, 'sync_completed', now() - interval '6 hours'),
|
||
|
|
(5, 4, 'dashboard_viewed', now() - interval '5 hours');
|
||
|
|
|
||
|
|
GRANT USAGE ON SCHEMA public TO app_user, etl_user, klo_reader;
|
||
|
|
GRANT SELECT ON ALL TABLES IN SCHEMA public TO app_user, etl_user, klo_reader;
|