SQLStore: Fix folder migration for MySQL < 5.7 (#62521)

* Nested folders: Do not skip integration tests

* SQLStore: Fix folder migration

It reduces the length of the title column to be equal with the respective
dashboard column.
This commit is contained in:
Sofia Papagiannaki
2023-02-02 16:21:25 +02:00
committed by GitHub
parent 10d66405a4
commit 4eaff63eda
2 changed files with 6 additions and 7 deletions

View File

@ -25,7 +25,6 @@ func TestIntegrationCreate(t *testing.T) {
if testing.Short() { if testing.Short() {
t.Skip("skipping integration test") t.Skip("skipping integration test")
} }
t.Skip("skipping until folder migration is merged")
db := sqlstore.InitTestDB(t) db := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{}) folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{})
@ -141,7 +140,6 @@ func TestIntegrationDelete(t *testing.T) {
if testing.Short() { if testing.Short() {
t.Skip("skipping integration test") t.Skip("skipping integration test")
} }
t.Skip("skipping until folder migration is merged")
db := sqlstore.InitTestDB(t) db := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{}) folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{})
@ -189,7 +187,6 @@ func TestIntegrationUpdate(t *testing.T) {
if testing.Short() { if testing.Short() {
t.Skip("skipping integration test") t.Skip("skipping integration test")
} }
t.Skip("skipping until folder migration is merged")
db := sqlstore.InitTestDB(t) db := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{}) folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{})
@ -294,7 +291,6 @@ func TestIntegrationGet(t *testing.T) {
if testing.Short() { if testing.Short() {
t.Skip("skipping integration test") t.Skip("skipping integration test")
} }
t.Skip("skipping until folder migration is merged")
db := sqlstore.InitTestDB(t) db := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{}) folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{})
@ -373,7 +369,6 @@ func TestIntegrationGetParents(t *testing.T) {
if testing.Short() { if testing.Short() {
t.Skip("skipping integration test") t.Skip("skipping integration test")
} }
t.Skip("skipping until folder migration is merged")
db := sqlstore.InitTestDB(t) db := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{}) folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{})
@ -440,7 +435,6 @@ func TestIntegrationGetChildren(t *testing.T) {
if testing.Short() { if testing.Short() {
t.Skip("skipping integration test") t.Skip("skipping integration test")
} }
t.Skip("skipping until folder migration is merged")
db := sqlstore.InitTestDB(t) db := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{}) folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{})
@ -594,7 +588,6 @@ func TestIntegrationGetHeight(t *testing.T) {
if testing.Short() { if testing.Short() {
t.Skip("skipping integration test") t.Skip("skipping integration test")
} }
t.Skip("skipping until folder migration is merged")
db := sqlstore.InitTestDB(t) db := sqlstore.InitTestDB(t)
folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{}) folderStore := ProvideStore(db, db.Cfg, &featuremgmt.FeatureManager{})

View File

@ -16,6 +16,12 @@ func addFolderMigrations(mg *migrator.Migrator) {
Cols: []string{"uid", "org_id"}, Cols: []string{"uid", "org_id"},
})) }))
mg.AddMigration("Update folder title length", migrator.NewTableCharsetMigration("folder", []*migrator.Column{
// it should be lower than 191 (the maximum length of indexable VARCHAR fields in MySQL 5.6 <= with utf8mb4 encoding)
// but the title column length of the dashboard table whose values are copied into this column is 189
{Name: "title", Type: migrator.DB_NVarchar, Length: 189, Nullable: false},
}))
mg.AddMigration("Add unique index for folder.title and folder.parent_uid", migrator.NewAddIndexMigration(folderv1(), &migrator.Index{ mg.AddMigration("Add unique index for folder.title and folder.parent_uid", migrator.NewAddIndexMigration(folderv1(), &migrator.Index{
Type: migrator.UniqueIndex, Type: migrator.UniqueIndex,
Cols: []string{"title", "parent_uid"}, Cols: []string{"title", "parent_uid"},