summaryrefslogtreecommitdiff
path: root/script.sql
blob: f5da315e53a25fbccfaf900a7c69aeb6294c6f7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
CREATE TABLE clients (
  id SERIAL PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  limit INTEGER NOT NULL
);

CREATE TYPE transaction_type AS ENUM ('c', 'd');

CREATE TABLE transactions (
  id SERIAL PRIMARY KEY,
  client_id REFERENCES clients,
  value INTEGER NOT NULL,
  type transaction_type NOT NULL,
  description VARCHAR(10) NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT NOW()
);

CREATE TABLE balances (
  id SERIAL PRIMARY KEY,
  client_id REFERENCES clients,
  value INTEGER NOT NULL
);

BEGIN
  INSERT INTO clients (name, limit)
  VALUES
      ('naruto', 1000 * 100),
      ('mob', 800 * 100),
      ('jojo', 10000 * 100),
      ('hellboy', 5000 * 100);
  INSERT INTO balances (client_id, value)
      SELECT id, 0 FROM clients;
END;