This commit is contained in:
parent
53785b6e6e
commit
a4de16a1dd
@ -11,6 +11,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GOPATH: /go-cache-volume
|
GOPATH: /go-cache-volume
|
||||||
GOCACHE: /go-cache-volume/build-cache
|
GOCACHE: /go-cache-volume/build-cache
|
||||||
|
GOLANGCI_LINT_CACHE: /go-cache-volume/golangci-lint
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
env:
|
env:
|
||||||
|
@ -11,8 +11,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// Tracks whether the DB connector has been initialized
|
// // Tracks whether the DB connector has been initialized
|
||||||
is_initialized bool
|
// is_initialized bool
|
||||||
|
|
||||||
// The SQL schema of the database under management
|
// The SQL schema of the database under management
|
||||||
sql_schema *string
|
sql_schema *string
|
||||||
@ -44,7 +44,7 @@ func Init(schema *string, migrationsList *[]string) {
|
|||||||
sql_schema = schema
|
sql_schema = schema
|
||||||
migrations = migrationsList
|
migrations = migrationsList
|
||||||
version_number = uint(len(*migrations))
|
version_number = uint(len(*migrations))
|
||||||
is_initialized = true
|
// is_initialized = true
|
||||||
}
|
}
|
||||||
|
|
||||||
func Create(path string) (*sqlx.DB, error) {
|
func Create(path string) (*sqlx.DB, error) {
|
||||||
@ -93,7 +93,7 @@ func CheckAndUpdateVersion(db *sqlx.DB) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run all the migrations from version X to version Y, and update the `database_version` table's `version_number`
|
// UpgradeFromXToY runs all the migrations from version X to version Y, and update the `database_version` table's `version_number`
|
||||||
func UpgradeFromXToY(db *sqlx.DB, x uint, y uint) {
|
func UpgradeFromXToY(db *sqlx.DB, x uint, y uint) {
|
||||||
for i := x; i < y; i++ {
|
for i := x; i < y; i++ {
|
||||||
fmt.Print(ColorCyan)
|
fmt.Print(ColorCyan)
|
||||||
|
@ -51,12 +51,12 @@ func TestVersionUpgrade(t *testing.T) {
|
|||||||
|
|
||||||
get_version := func(c *sqlx.DB) (ret int) {
|
get_version := func(c *sqlx.DB) (ret int) {
|
||||||
// TODO: this should be a function exposed by the `db` package itself
|
// TODO: this should be a function exposed by the `db` package itself
|
||||||
c.Get(&ret, "select version from db_version")
|
require.NoError(c.Get(&ret, "select version from db_version"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var items []int
|
var items []int
|
||||||
connection.Select(&items, "select * from items")
|
require.NoError(connection.Select(&items, "select * from items"))
|
||||||
require.Len(items, 0)
|
require.Len(items, 0)
|
||||||
require.Equal(0, get_version(connection))
|
require.Equal(0, get_version(connection))
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ func TestVersionUpgrade(t *testing.T) {
|
|||||||
db.UpgradeFromXToY(connection, uint(len(migrations)-1), uint(len(migrations)))
|
db.UpgradeFromXToY(connection, uint(len(migrations)-1), uint(len(migrations)))
|
||||||
|
|
||||||
var items2 []int
|
var items2 []int
|
||||||
connection.Select(&items2, "select * from items")
|
require.NoError(connection.Select(&items2, "select * from items"))
|
||||||
require.Len(items2, 1)
|
require.Len(items2, 1)
|
||||||
require.Equal(1, get_version(connection))
|
require.Equal(1, get_version(connection))
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ func TestVersionUpgrade(t *testing.T) {
|
|||||||
ID uint64 `db:"rowid"`
|
ID uint64 `db:"rowid"`
|
||||||
Name string `db:"name"`
|
Name string `db:"name"`
|
||||||
}
|
}
|
||||||
connection.Select(&items3, "select * from items")
|
require.NoError(connection.Select(&items3, "select * from items"))
|
||||||
require.Len(items2, 1)
|
require.Len(items2, 1)
|
||||||
assert.Equal(t, "asdf", items3[0].Name)
|
assert.Equal(t, "asdf", items3[0].Name)
|
||||||
require.Equal(2, get_version(connection))
|
require.Equal(2, get_version(connection))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user