Moved schema.go to schema Package

This commit is contained in:
Brad Rydzewski 2014-06-12 15:02:19 -07:00
parent 170135cb1d
commit 47ea0cbd29
7 changed files with 108 additions and 109 deletions

View file

@ -1,99 +0,0 @@
package database
import (
"database/sql"
"log"
)
// statements to setup our database
var stmts = []string{`
CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY AUTOINCREMENT
,user_parent_id INTEGER
,user_remote VARCHAR(255)
,user_login VARCHAR(255)
,user_access VARCHAR(255)
,user_secret VARCHAR(255)
,user_name VARCHAR(255)
,user_email VARCHAR(255)
,user_gravatar VARCHAR(255)
,user_token VARCHAR(255)
,user_admin BOOLEAN
,user_active BOOLEAN
,user_created INTEGER
,user_updated INTEGER
,user_synced INTEGER
,UNIQUE(user_token)
,UNIQUE(user_remote, user_login)
);`, `
CREATE TABLE IF NOT EXISTS perms (
perm_id INTEGER PRIMARY KEY AUTOINCREMENT
,user_id INTEGER
,repo_id INTEGER
,perm_read BOOLEAN
,perm_write BOOLEAN
,perm_admin BOOLEAN
,perm_created INTEGER
,perm_updated INTEGER
,UNIQUE (repo_id, user_id)
);`, `
CREATE TABLE IF NOT EXISTS repos (
repo_id INTEGER PRIMARY KEY AUTOINCREMENT
,user_id INTEGER
,repo_remote VARCHAR(255)
,repo_host VARCHAR(255)
,repo_owner VARCHAR(255)
,repo_name VARCHAR(255)
,repo_url VARCHAR(1024)
,repo_clone_url VARCHAR(255)
,repo_git_url VARCHAR(255)
,repo_ssh_url VARCHAR(255)
,repo_active BOOLEAN
,repo_private BOOLEAN
,repo_privileged BOOLEAN
,repo_post_commit BOOLEAN
,repo_pull_request BOOLEAN
,repo_public_key VARCHAR(4000)
,repo_private_key VARCHAR(4000)
,repo_params VARCHAR(4000)
,repo_timeout INTEGER
,repo_created INTEGER
,repo_updated INTEGER
,UNIQUE(repo_host, repo_owner, repo_name)
);`, `
CREATE TABLE IF NOT EXISTS commits (
commit_id INTEGER PRIMARY KEY AUTOINCREMENT
,repo_id INTEGER
,commit_status VARCHAR(255)
,commit_started INTEGER
,commit_finished INTEGER
,commit_duration INTEGER
,commit_sha VARCHAR(255)
,commit_branch VARCHAR(255)
,commit_pr VARCHAR(255)
,commit_author VARCHAR(255)
,commit_gravatar VARCHAR(255)
,commit_timestamp VARCHAR(255)
,commit_message VARCHAR(255)
,commit_yaml VARCHAR(4000)
,commit_created INTEGER
,commit_updated INTEGER
,UNIQUE(commit_sha, commit_branch, repo_id)
);`, `
CREATE TABLE IF NOT EXISTS output (
output_id INTEGER PRIMARY KEY AUTOINCREMENT
,commit_id INTEGER
,output_raw BLOB
,UNIQUE(commit_id)
);`,
}
func Load(db *sql.DB) {
// execute all setup commands
for _, stmt := range stmts {
if _, err := db.Exec(stmt); err != nil {
// exit on failure since this should never happen
log.Fatalf("Error generating database schema. %s\n%s", err, stmt)
}
}
}

View file

@ -1 +1,99 @@
package schema
import (
"database/sql"
"log"
)
// statements to setup our database
var stmts = []string{`
CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY AUTOINCREMENT
,user_parent_id INTEGER
,user_remote VARCHAR(255)
,user_login VARCHAR(255)
,user_access VARCHAR(255)
,user_secret VARCHAR(255)
,user_name VARCHAR(255)
,user_email VARCHAR(255)
,user_gravatar VARCHAR(255)
,user_token VARCHAR(255)
,user_admin BOOLEAN
,user_active BOOLEAN
,user_created INTEGER
,user_updated INTEGER
,user_synced INTEGER
,UNIQUE(user_token)
,UNIQUE(user_remote, user_login)
);`, `
CREATE TABLE IF NOT EXISTS perms (
perm_id INTEGER PRIMARY KEY AUTOINCREMENT
,user_id INTEGER
,repo_id INTEGER
,perm_read BOOLEAN
,perm_write BOOLEAN
,perm_admin BOOLEAN
,perm_created INTEGER
,perm_updated INTEGER
,UNIQUE (repo_id, user_id)
);`, `
CREATE TABLE IF NOT EXISTS repos (
repo_id INTEGER PRIMARY KEY AUTOINCREMENT
,user_id INTEGER
,repo_remote VARCHAR(255)
,repo_host VARCHAR(255)
,repo_owner VARCHAR(255)
,repo_name VARCHAR(255)
,repo_url VARCHAR(1024)
,repo_clone_url VARCHAR(255)
,repo_git_url VARCHAR(255)
,repo_ssh_url VARCHAR(255)
,repo_active BOOLEAN
,repo_private BOOLEAN
,repo_privileged BOOLEAN
,repo_post_commit BOOLEAN
,repo_pull_request BOOLEAN
,repo_public_key VARCHAR(4000)
,repo_private_key VARCHAR(4000)
,repo_params VARCHAR(4000)
,repo_timeout INTEGER
,repo_created INTEGER
,repo_updated INTEGER
,UNIQUE(repo_host, repo_owner, repo_name)
);`, `
CREATE TABLE IF NOT EXISTS commits (
commit_id INTEGER PRIMARY KEY AUTOINCREMENT
,repo_id INTEGER
,commit_status VARCHAR(255)
,commit_started INTEGER
,commit_finished INTEGER
,commit_duration INTEGER
,commit_sha VARCHAR(255)
,commit_branch VARCHAR(255)
,commit_pr VARCHAR(255)
,commit_author VARCHAR(255)
,commit_gravatar VARCHAR(255)
,commit_timestamp VARCHAR(255)
,commit_message VARCHAR(255)
,commit_yaml VARCHAR(4000)
,commit_created INTEGER
,commit_updated INTEGER
,UNIQUE(commit_sha, commit_branch, repo_id)
);`, `
CREATE TABLE IF NOT EXISTS output (
output_id INTEGER PRIMARY KEY AUTOINCREMENT
,commit_id INTEGER
,output_raw BLOB
,UNIQUE(commit_id)
);`,
}
func Load(db *sql.DB) {
// execute all setup commands
for _, stmt := range stmts {
if _, err := db.Exec(stmt); err != nil {
// exit on failure since this should never happen
log.Fatalf("Error generating database schema. %s\n%s", err, stmt)
}
}
}

View file

@ -10,7 +10,7 @@ import (
"code.google.com/p/go.net/websocket"
"github.com/drone/drone/server/channel"
"github.com/drone/drone/server/database"
"github.com/drone/drone/server/database/schema"
"github.com/drone/drone/server/handler"
"github.com/drone/drone/server/queue"
"github.com/drone/drone/server/resource/commit"
@ -92,7 +92,7 @@ func main() {
// setup the database
meddler.Default = meddler.SQLite
db, _ := sql.Open(driver, datasource)
database.Load(db)
schema.Load(db)
// setup the database managers
repos := repo.NewManager(db)

View file

@ -5,7 +5,7 @@ import (
"testing"
"time"
"github.com/drone/drone/server/database"
"github.com/drone/drone/server/database/schema"
"github.com/drone/drone/server/database/testdata"
_ "github.com/mattn/go-sqlite3"
)
@ -16,7 +16,7 @@ var db *sql.DB
// setup the test database and test fixtures
func setup() {
db, _ = sql.Open("sqlite3", ":memory:")
database.Load(db)
schema.Load(db)
testdata.Load(db)
}

View file

@ -5,7 +5,7 @@ import (
//"strings"
"testing"
"github.com/drone/drone/server/database"
"github.com/drone/drone/server/database/schema"
"github.com/drone/drone/server/database/testdata"
"github.com/drone/drone/server/resource/repo"
"github.com/drone/drone/server/resource/user"
@ -18,7 +18,7 @@ var db *sql.DB
// setup the test database and test fixtures
func setup() {
db, _ = sql.Open("sqlite3", ":memory:")
database.Load(db)
schema.Load(db)
testdata.Load(db)
}

View file

@ -4,7 +4,7 @@ import (
"database/sql"
"testing"
"github.com/drone/drone/server/database"
"github.com/drone/drone/server/database/schema"
"github.com/drone/drone/server/database/testdata"
_ "github.com/mattn/go-sqlite3"
)
@ -15,7 +15,7 @@ var db *sql.DB
// setup the test database and test fixtures
func setup() {
db, _ = sql.Open("sqlite3", ":memory:")
database.Load(db)
schema.Load(db)
testdata.Load(db)
}

View file

@ -4,7 +4,7 @@ import (
"database/sql"
"testing"
"github.com/drone/drone/server/database"
"github.com/drone/drone/server/database/schema"
"github.com/drone/drone/server/database/testdata"
_ "github.com/mattn/go-sqlite3"
)
@ -15,7 +15,7 @@ var db *sql.DB
// setup the test database and test fixtures
func setup() {
db, _ = sql.Open("sqlite3", ":memory:")
database.Load(db)
schema.Load(db)
testdata.Load(db)
}