Create Schema Manager and propagate contexts into the DB calls downstream. Add checks at controller startup and database init for correct schema version and schema migration dirty bit being set.
24 lines
680 B
Go
24 lines
680 B
Go
package schema
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestBinarySchemaVersion(t *testing.T) {
|
|
dialect := "test_binaryschemaversion"
|
|
migrationStates[dialect] = migrationState{binarySchemaVersion: 3}
|
|
assert.Equal(t, 3, BinarySchemaVersion(dialect))
|
|
assert.Equal(t, nilVersion, BinarySchemaVersion("unknown_dialect"))
|
|
}
|
|
|
|
func TestDevMigration(t *testing.T) {
|
|
dialect := "test_devmigrations"
|
|
migrationStates[dialect] = migrationState{devMigration: true}
|
|
assert.True(t, DevMigration(dialect))
|
|
migrationStates[dialect] = migrationState{devMigration: false}
|
|
assert.False(t, DevMigration(dialect))
|
|
assert.False(t, DevMigration("unknown_dialect"))
|
|
}
|