2014-02-07 10:10:01 +00:00
|
|
|
DROP TABLE IF EXISTS builds;
|
|
|
|
DROP TABLE IF EXISTS commits;
|
|
|
|
DROP TABLE IF EXISTS repos;
|
|
|
|
DROP TABLE IF EXISTS members;
|
|
|
|
DROP TABLE IF EXISTS teams;
|
|
|
|
DROP TABLE IF EXISTS users;
|
|
|
|
DROP TABLE IF EXISTS settings;
|
|
|
|
|
|
|
|
CREATE TABLE users (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT
|
|
|
|
,email VARCHAR(255) UNIQUE
|
|
|
|
,password VARCHAR(255)
|
|
|
|
,token VARCHAR(255) UNIQUE
|
|
|
|
,name VARCHAR(255)
|
|
|
|
,gravatar VARCHAR(255)
|
|
|
|
,created TIMESTAMP
|
|
|
|
,updated TIMESTAMP
|
|
|
|
,admin BOOLEAN
|
|
|
|
|
|
|
|
,github_login VARCHAR(255)
|
|
|
|
,github_token VARCHAR(255)
|
|
|
|
|
|
|
|
,bitbucket_login VARCHAR(255)
|
|
|
|
,bitbucket_token VARCHAR(255)
|
|
|
|
,bitbucket_secret VARCHAR(255)
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE teams (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT
|
|
|
|
,slug VARCHAR(255) UNIQUE
|
|
|
|
,name VARCHAR(255) UNIQUE
|
|
|
|
,email VARCHAR(255)
|
|
|
|
,gravatar VARCHAR(255)
|
|
|
|
,created TIMESTAMP
|
|
|
|
,updated TIMESTAMP
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE members (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT
|
|
|
|
,team_id INTEGER
|
|
|
|
,user_id INTEGER
|
|
|
|
,role INTEGER
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE repos (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT
|
|
|
|
,slug VARCHAR(1024) UNIQUE
|
|
|
|
,host VARCHAR(255)
|
|
|
|
,owner VARCHAR(255)
|
|
|
|
,name VARCHAR(255)
|
|
|
|
,private BOOLEAN
|
|
|
|
,disabled BOOLEAN
|
|
|
|
,disabled_pr BOOLEAN
|
2014-02-18 05:41:56 +00:00
|
|
|
,privileged BOOLEAN
|
2014-02-07 10:10:01 +00:00
|
|
|
,timeout INTEGER
|
|
|
|
|
|
|
|
,scm VARCHAR(25)
|
|
|
|
,url VARCHAR(1024)
|
|
|
|
,username VARCHAR(255)
|
|
|
|
,password VARCHAR(255)
|
|
|
|
,public_key VARCHAR(1024)
|
|
|
|
,private_key VARCHAR(1024)
|
|
|
|
,params VARCHAR(2000)
|
|
|
|
|
|
|
|
,created TIMESTAMP
|
|
|
|
,updated TIMESTAMP
|
|
|
|
,user_id INTEGER
|
|
|
|
,team_id INTEGER
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE commits (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT
|
|
|
|
,repo_id INTEGER
|
|
|
|
,status VARCHAR(255)
|
|
|
|
,started TIMESTAMP
|
|
|
|
,finished TIMESTAMP
|
|
|
|
,duration INTEGER
|
|
|
|
,hash VARCHAR(255)
|
|
|
|
,branch VARCHAR(255)
|
|
|
|
,pull_request VARCHAR(255)
|
|
|
|
,author VARCHAR(255)
|
|
|
|
,gravatar VARCHAR(255)
|
|
|
|
,timestamp VARCHAR(255)
|
|
|
|
,message VARCHAR(255)
|
|
|
|
,created TIMESTAMP
|
|
|
|
,updated TIMESTAMP
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE builds (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT
|
|
|
|
,commit_id INTEGER
|
|
|
|
,slug VARCHAR(255)
|
|
|
|
,status VARCHAR(255)
|
|
|
|
,started TIMESTAMP
|
|
|
|
,finished TIMESTAMP
|
|
|
|
,duration INTEGER
|
|
|
|
,created TIMESTAMP
|
|
|
|
,updated TIMESTAMP
|
|
|
|
,stdout BLOB
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE settings (
|
|
|
|
id INTEGER PRIMARY KEY
|
|
|
|
,github_key VARCHAR(255)
|
|
|
|
,github_secret VARCHAR(255)
|
2014-02-09 13:36:45 +00:00
|
|
|
,github_domain VARCHAR(255)
|
|
|
|
,github_apiurl VARCHAR(255)
|
2014-02-07 10:10:01 +00:00
|
|
|
,bitbucket_key VARCHAR(255)
|
|
|
|
,bitbucket_secret VARCHAR(255)
|
|
|
|
,smtp_server VARCHAR(1024)
|
|
|
|
,smtp_port VARCHAR(5)
|
|
|
|
,smtp_address VARCHAR(1024)
|
|
|
|
,smtp_username VARCHAR(1024)
|
|
|
|
,smtp_password VARCHAR(1024)
|
|
|
|
,hostname VARCHAR(1024)
|
|
|
|
,scheme VARCHAR(5)
|
2014-02-16 01:56:48 +00:00
|
|
|
,open_invitations BOOLEAN
|
2014-02-07 10:10:01 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
CREATE UNIQUE INDEX member_uix ON members (team_id, user_id);
|
|
|
|
CREATE UNIQUE INDEX commits_uix ON commits (repo_id, hash, branch);
|
|
|
|
|
|
|
|
CREATE INDEX member_team_ix ON members (team_id);
|
|
|
|
CREATE INDEX member_user_ix ON members (user_id);
|
|
|
|
CREATE INDEX repo_team_ix ON repos (team_id);
|
|
|
|
CREATE INDEX repo_user_ix ON repos (user_id);
|
|
|
|
CREATE INDEX commits_repo_ix ON commits (repo_id);
|
|
|
|
CREATE INDEX commits_repo_branch_ix ON commits (repo_id, branch);
|
|
|
|
CREATE INDEX builds_commit_ix ON builds (commit_id);
|
|
|
|
CREATE INDEX builds_commit_slug_ix ON builds (commit_id, slug);
|