Added project
This commit is contained in:
32
docker/db/scripts/1_init_schema.sql
Normal file
32
docker/db/scripts/1_init_schema.sql
Normal file
@@ -0,0 +1,32 @@
|
||||
CREATE SEQUENCE seq_employees START 5000;
|
||||
|
||||
CREATE TABLE employees
|
||||
(
|
||||
id BIGINT PRIMARY KEY DEFAULT nextval('seq_employees'),
|
||||
name VARCHAR NOT NULL,
|
||||
email VARCHAR NOT NULL
|
||||
);
|
||||
CREATE UNIQUE INDEX employees_unique_email_idx ON employees (email);
|
||||
|
||||
CREATE TABLE employee_personal_accounts (
|
||||
id BIGINT PRIMARY KEY DEFAULT nextval('seq_employees'),
|
||||
employee_id BIGINT NOT NULL,
|
||||
personal_account VARCHAR NOT NULL,
|
||||
FOREIGN KEY (employee_id) REFERENCES employees (id) ON DELETE CASCADE
|
||||
);
|
||||
CREATE UNIQUE INDEX employee_personal_accounts_unique_employee_account_idx
|
||||
ON employee_personal_accounts (employee_id, personal_account);
|
||||
|
||||
CREATE TABLE personal_account_operations (
|
||||
id BIGINT PRIMARY KEY DEFAULT nextval('seq_employees'),
|
||||
personal_account_id BIGINT NOT NULL,
|
||||
operation_date_time TIMESTAMP NOT NULL,
|
||||
operation_type VARCHAR NOT NULL,
|
||||
-- Money data on PostgreSQL using Java https://stackoverflow.com/a/18170030
|
||||
operation_value DECIMAL NOT NULL,
|
||||
FOREIGN KEY (personal_account_id) REFERENCES employee_personal_accounts (id) ON DELETE CASCADE
|
||||
);
|
||||
CREATE UNIQUE INDEX personal_account_operations_unique_account_datetime_idx
|
||||
ON personal_account_operations (personal_account_id, operation_date_time);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user