Chore: [Nested Folder] Add db migration at service start time (#58590)

* add db migration at service start time

* make changes for the 3 db

* revert migrator

* fix feature toggle check

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
This commit is contained in:
ying-jeanne
2022-11-12 09:51:46 -05:00
committed by GitHub
co-authored by Serge Zaitsev
parent 75e435fb00
commit 69b5a9c752
2 changed files with 26 additions and 12 deletions
+1 -11
View File
@@ -1,9 +1,6 @@
package migrations
import (
"fmt"
"github.com/grafana/grafana/pkg/services/folder"
"github.com/grafana/grafana/pkg/services/sqlstore/migrator"
)
@@ -11,13 +8,6 @@ import (
func addFolderMigrations(mg *migrator.Migrator) {
mg.AddMigration("create folder table", migrator.NewAddTableMigration(folderv1()))
// copy any existing folders in the dashboard table into the new folder
// table. The *legacy* parent folder ID, stored as folder_id in the
// dashboard table, is always going to be "0" so it is safe to convert to a parent UID.
mg.AddMigration("copy existing folders from dashboard table", migrator.NewRawSQLMigration(
"INSERT INTO folder (id, uid, org_id, title, created, updated) SELECT id, uid, org_id, title, created, updated FROM dashboard WHERE is_folder = 1;",
).Postgres("INSERT INTO folder (id, uid, org_id, title, created, updated) SELECT id, uid, org_id, title, created, updated FROM dashboard WHERE is_folder = true;"))
mg.AddMigration("Add index for parent_uid", migrator.NewAddIndexMigration(folderv1(), &migrator.Index{
Cols: []string{"parent_uid", "org_id"},
}))
@@ -43,7 +33,7 @@ func folderv1() migrator.Table {
{Name: "org_id", Type: migrator.DB_BigInt, Nullable: false},
{Name: "title", Type: migrator.DB_NVarchar, Length: 255, Nullable: false},
{Name: "description", Type: migrator.DB_NVarchar, Length: 255, Nullable: true},
{Name: "parent_uid", Type: migrator.DB_NVarchar, Length: 40, Default: fmt.Sprintf("'%s'", folder.GeneralFolderUID)},
{Name: "parent_uid", Type: migrator.DB_NVarchar, Length: 40, Default: ""},
{Name: "created", Type: migrator.DB_DateTime, Nullable: false},
{Name: "updated", Type: migrator.DB_DateTime, Nullable: false},
},