From 43977b16f27784233c166ff8fc42cf8ed5c891ed Mon Sep 17 00:00:00 2001 From: Mateus Cruz Date: Wed, 7 Feb 2024 23:51:09 -0300 Subject: chore: adjust resources --- init.sql | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 init.sql (limited to 'init.sql') diff --git a/init.sql b/init.sql new file mode 100644 index 0000000..a02895a --- /dev/null +++ b/init.sql @@ -0,0 +1,40 @@ +CREATE TABLE clients ( + id SERIAL PRIMARY KEY, + name VARCHAR(50) NOT NULL, + mov_limit INTEGER NOT NULL +); + +CREATE TYPE transaction_type AS ENUM ('credit', 'debit'); + +CREATE TABLE transactions ( + id SERIAL PRIMARY KEY, + client_id INTEGER REFERENCES clients, + value INTEGER NOT NULL, + type transaction_type NOT NULL, + description VARCHAR(10) NOT NULL, + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() +); + +CREATE INDEX idx_client_id_transactions ON transactions (client_id); + +CREATE TABLE balances ( + id SERIAL PRIMARY KEY, + client_id INTEGER REFERENCES clients, + value INTEGER NOT NULL +); + +CREATE INDEX idx_client_id_balances ON balances (client_id); + +DO $$ +BEGIN + INSERT INTO clients (name, mov_limit) + VALUES + ('naruto', 100000), + ('mob', 80000), + ('jojo', 1000000), + ('hellboy', 10000000), + ('ultramega', 500000); + INSERT INTO balances (client_id, value) + SELECT id, 0 FROM clients; +END; +$$ -- cgit v1.2.3