* adding sessions.sq

This commit is contained in:
Seth Call 2012-08-16 22:12:29 -05:00
parent 920c79de36
commit b091740225
1 changed files with 37 additions and 0 deletions

37
up/sessions.sql Normal file
View File

@ -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);