diff --git a/projects/ContractSphere/data_storage/contract-sphere-db/schema/schema.sql b/projects/ContractSphere/data_storage/contract-sphere-db/schema/schema.sql new file mode 100644 index 000000000..efa49f4be --- /dev/null +++ b/projects/ContractSphere/data_storage/contract-sphere-db/schema/schema.sql @@ -0,0 +1,24 @@ +CREATE TABLE contracts ( + id SERIAL PRIMARY KEY, + title VARCHAR(255) NOT NULL, + description TEXT, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +); + +CREATE TABLE users ( + id SERIAL PRIMARY KEY, + username VARCHAR(255) NOT NULL UNIQUE, + email VARCHAR(255) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP +); + +CREATE TABLE contract_users ( + contract_id INTEGER NOT NULL, + user_id INTEGER NOT NULL, + PRIMARY KEY (contract_id, user_id), + FOREIGN KEY (contract_id) REFERENCES contracts (id), + FOREIGN KEY (user_id) REFERENCES users (id) +);