Merge pull request #1375 from bradrydzewski/master

minor database enhancements
This commit is contained in:
Brad Rydzewski 2015-12-13 01:07:40 -08:00
commit 4c1e5b7130
2 changed files with 10 additions and 3 deletions

View file

@ -83,6 +83,7 @@ func Open(driver, config string) *sql.DB {
log.Errorln(err) log.Errorln(err)
log.Fatalln("migration failed") log.Fatalln("migration failed")
} }
cleanupDatabase(db)
return db return db
} }
@ -128,6 +129,13 @@ func setupDatabase(driver string, db *sql.DB) error {
return err return err
} }
// helper function to avoid stuck jobs when Drone unexpectedly
// restarts. This is a temp fix for https://github.com/drone/drone/issues/1195
func cleanupDatabase(db *sql.DB) {
db.Exec("update builds set build_status = 'error' where build_status IN ('pending','running')")
db.Exec("update jobs set job_status = 'error' where job_status IN ('pending','running')")
}
// helper function to setup the meddler default driver // helper function to setup the meddler default driver
// based on the selected driver name. // based on the selected driver name.
func setupMeddler(driver string) { func setupMeddler(driver string) {

View file

@ -2,7 +2,7 @@
CREATE TABLE IF NOT EXISTS users ( CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY AUTO_INCREMENT user_id INTEGER PRIMARY KEY AUTO_INCREMENT
,user_login VARCHAR(500) ,user_login VARCHAR(255)
,user_token VARCHAR(500) ,user_token VARCHAR(500)
,user_secret VARCHAR(500) ,user_secret VARCHAR(500)
,user_expiry INTEGER ,user_expiry INTEGER
@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS repos (
,repo_user_id INTEGER ,repo_user_id INTEGER
,repo_owner VARCHAR(255) ,repo_owner VARCHAR(255)
,repo_name VARCHAR(255) ,repo_name VARCHAR(255)
,repo_full_name VARCHAR(511) ,repo_full_name VARCHAR(255)
,repo_avatar VARCHAR(500) ,repo_avatar VARCHAR(500)
,repo_link VARCHAR(1000) ,repo_link VARCHAR(1000)
,repo_clone VARCHAR(1000) ,repo_clone VARCHAR(1000)
@ -120,6 +120,5 @@ DROP TABLE logs;
DROP TABLE jobs; DROP TABLE jobs;
DROP TABLE builds; DROP TABLE builds;
DROP TABLE `keys`; DROP TABLE `keys`;
DROP TABLE stars;
DROP TABLE repos; DROP TABLE repos;
DROP TABLE users; DROP TABLE users;