mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-12 08:23:48 +02:00
128 lines
3.3 KiB
SQL
128 lines
3.3 KiB
SQL
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
|
|
,priveleged BOOLEAN
|
|
,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)
|
|
,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)
|
|
);
|
|
|
|
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);
|