1-based numbering for migrations

This commit is contained in:
Nazar Kanaev 2021-03-10 20:03:01 +00:00
parent d34c6df673
commit f1332d4200

View File

@ -7,10 +7,10 @@ import (
) )
var migrations = []func(*sql.Tx)error{ var migrations = []func(*sql.Tx)error{
m00_initial, m01_initial,
m01_feed_states_and_errors, m02_feed_states_and_errors,
m02_on_delete_actions, m03_on_delete_actions,
m03_item_podcasturl, m04_item_podcasturl,
} }
var maxVersion = int64(len(migrations)) var maxVersion = int64(len(migrations))
@ -23,10 +23,10 @@ func migrate(db *sql.DB, log *log.Logger) error {
return nil return nil
} }
log.Printf("db version is %d. migrating to %d", version, len(migrations)) log.Printf("db version is %d. migrating to %d", version, maxVersion)
for v := version; v < maxVersion; v++ { for v := version + 1; v <= maxVersion; v++ {
migratefunc := migrations[v] migratefunc := migrations[v - 1]
var tx *sql.Tx var tx *sql.Tx
var err error var err error
@ -40,7 +40,7 @@ func migrate(db *sql.DB, log *log.Logger) error {
tx.Rollback() tx.Rollback()
return err return err
} }
if _, err = tx.Exec(fmt.Sprintf("pragma user_version = %d", v + 1)); err != nil { if _, err = tx.Exec(fmt.Sprintf("pragma user_version = %d", v)); err != nil {
log.Printf("[migration:%d] failed to bump version", v) log.Printf("[migration:%d] failed to bump version", v)
tx.Rollback() tx.Rollback()
return err return err
@ -54,7 +54,7 @@ func migrate(db *sql.DB, log *log.Logger) error {
return nil return nil
} }
func m00_initial(tx *sql.Tx) error { func m01_initial(tx *sql.Tx) error {
sql := ` sql := `
create table if not exists folders ( create table if not exists folders (
id integer primary key autoincrement, id integer primary key autoincrement,
@ -114,7 +114,7 @@ func m00_initial(tx *sql.Tx) error {
return err return err
} }
func m01_feed_states_and_errors(tx *sql.Tx) error { func m02_feed_states_and_errors(tx *sql.Tx) error {
sql := ` sql := `
create table if not exists http_states ( create table if not exists http_states (
feed_id references feeds(id) unique, feed_id references feeds(id) unique,
@ -134,7 +134,7 @@ func m01_feed_states_and_errors(tx *sql.Tx) error {
return err return err
} }
func m02_on_delete_actions(tx *sql.Tx) error { func m03_on_delete_actions(tx *sql.Tx) error {
sql := ` sql := `
-- 01. disable foreignkey constraint -- 01. disable foreignkey constraint
pragma foreign_keys=off; pragma foreign_keys=off;
@ -212,7 +212,7 @@ func m02_on_delete_actions(tx *sql.Tx) error {
return err return err
} }
func m03_item_podcasturl(tx *sql.Tx) error { func m04_item_podcasturl(tx *sql.Tx) error {
sql := ` sql := `
alter table items add column podcast_url text alter table items add column podcast_url text
` `