126 lines
2.8 KiB
SQL
126 lines
2.8 KiB
SQL
-- +migrate Up
|
|
|
|
CREATE TABLE users (
|
|
user_id SERIAL PRIMARY KEY
|
|
,user_login VARCHAR(40)
|
|
,user_token VARCHAR(128)
|
|
,user_secret VARCHAR(128)
|
|
,user_expiry INTEGER
|
|
,user_email VARCHAR(256)
|
|
,user_avatar VARCHAR(256)
|
|
,user_active BOOLEAN
|
|
,user_admin BOOLEAN
|
|
,user_hash VARCHAR(128)
|
|
|
|
,UNIQUE(user_login)
|
|
);
|
|
|
|
CREATE TABLE repos (
|
|
repo_id SERIAL PRIMARY KEY
|
|
,repo_user_id INTEGER
|
|
,repo_owner VARCHAR(255)
|
|
,repo_name VARCHAR(255)
|
|
,repo_full_name VARCHAR(511)
|
|
,repo_avatar VARCHAR(500)
|
|
,repo_link VARCHAR(1000)
|
|
,repo_clone VARCHAR(1000)
|
|
,repo_branch VARCHAR(500)
|
|
,repo_timeout INTEGER
|
|
,repo_private BOOLEAN
|
|
,repo_trusted BOOLEAN
|
|
,repo_allow_pr BOOLEAN
|
|
,repo_allow_push BOOLEAN
|
|
,repo_allow_deploys BOOLEAN
|
|
,repo_allow_tags BOOLEAN
|
|
,repo_hash VARCHAR(500)
|
|
|
|
,UNIQUE(repo_full_name)
|
|
);
|
|
|
|
CREATE TABLE keys (
|
|
key_id SERIAL PRIMARY KEY
|
|
,key_repo_id INTEGER
|
|
,key_public BYTEA
|
|
,key_private BYTEA
|
|
|
|
,UNIQUE(key_repo_id)
|
|
);
|
|
|
|
CREATE TABLE builds (
|
|
build_id SERIAL PRIMARY KEY
|
|
,build_repo_id INTEGER
|
|
,build_number INTEGER
|
|
,build_event VARCHAR(25)
|
|
,build_status VARCHAR(25)
|
|
,build_enqueued INTEGER
|
|
,build_created INTEGER
|
|
,build_started INTEGER
|
|
,build_finished INTEGER
|
|
,build_commit VARCHAR(40)
|
|
,build_branch VARCHAR(256)
|
|
,build_ref VARCHAR(512)
|
|
,build_refspec VARCHAR(512)
|
|
,build_remote VARCHAR(512)
|
|
,build_title VARCHAR(1000)
|
|
,build_message VARCHAR(2000)
|
|
,build_timestamp INTEGER
|
|
,build_author VARCHAR(40)
|
|
,build_avatar VARCHAR(1000)
|
|
,build_email VARCHAR(500)
|
|
,build_link VARCHAR(1000)
|
|
|
|
,UNIQUE(build_number, build_repo_id)
|
|
);
|
|
|
|
CREATE INDEX ix_build_repo ON builds (build_repo_id);
|
|
|
|
CREATE TABLE jobs (
|
|
job_id SERIAL PRIMARY KEY
|
|
,job_node_id INTEGER
|
|
,job_build_id INTEGER
|
|
,job_number INTEGER
|
|
,job_status VARCHAR(25)
|
|
,job_exit_code INTEGER
|
|
,job_started INTEGER
|
|
,job_enqueued INTEGER
|
|
,job_finished INTEGER
|
|
,job_environment VARCHAR(2000)
|
|
|
|
,UNIQUE(job_build_id, job_number)
|
|
);
|
|
|
|
CREATE INDEX ix_job_build ON jobs (job_build_id);
|
|
CREATE INDEX ix_job_node ON jobs (job_node_id);
|
|
|
|
CREATE TABLE IF NOT EXISTS logs (
|
|
log_id SERIAL PRIMARY KEY
|
|
,log_job_id INTEGER
|
|
,log_data BYTEA
|
|
|
|
,UNIQUE(log_job_id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS nodes (
|
|
node_id SERIAL PRIMARY KEY
|
|
,node_addr VARCHAR(1024)
|
|
,node_arch VARCHAR(50)
|
|
,node_cert BYTEA
|
|
,node_key BYTEA
|
|
,node_ca BYTEA
|
|
);
|
|
|
|
|
|
INSERT INTO nodes (node_addr, node_arch, node_cert, node_key, node_ca) VALUES
|
|
('unix:///var/run/docker.sock', 'linux_amd64', '', '', ''),
|
|
('unix:///var/run/docker.sock', 'linux_amd64', '', '', '');
|
|
|
|
-- +migrate Down
|
|
|
|
DROP TABLE nodes;
|
|
DROP TABLE logs;
|
|
DROP TABLE jobs;
|
|
DROP TABLE builds;
|
|
DROP TABLE keys;
|
|
DROP TABLE stars;
|
|
DROP TABLE repos;
|
|
DROP TABLE users;
|