* adding sessions.sq
This commit is contained in:
parent
920c79de36
commit
b091740225
|
|
@ -0,0 +1,37 @@
|
|||
-- so we can default uuid fields using uuid_generate_v4. nice to have.
|
||||
CREATE EXTENSION "uuid-ossp";
|
||||
|
||||
CREATE TABLE users (
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
name VARCHAR(50) NOT NULL,
|
||||
email VARCHAR(255) NOT NULL UNIQUE,
|
||||
remember_token VARCHAR(255) UNIQUE,
|
||||
password_digest VARCHAR(255) NOT NULL,
|
||||
admin boolean NOT NULL DEFAULT false,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX remember_token_idx ON users(remember_token);
|
||||
|
||||
-- adhoc jam sessions
|
||||
CREATE TABLE jam_sessions (
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
name VARCHAR(255),
|
||||
user_id VARCHAR(64) REFERENCES users(id),
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- users currently in the jam session
|
||||
CREATE TABLE jam_session_members (
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
user_id VARCHAR(64) REFERENCES users(id),
|
||||
jam_session_id VARCHAR(64) REFERENCES jam_sessions(id),
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
ALTER TABLE jam_session_members ADD CONSTRAINT user_jam_session_uniqkey UNIQUE (user_id, jam_session_id);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue