mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Add FolderUID for library elements (#79572)
* Add FolderUID in missing places for libraryelements * Add migration for FolderUID in library elements table * Add Folder UIDs tolibrary panels * Adjust dashboard import with folder uid * Fix lint * Rename back FolderUID to UID * Remove default * Check if folderUID is nil * Add unique indes on org_id,folder_uid,name and kind * Update pkg/services/libraryelements/database.go Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com> * Fix folder integration test, with unique index on library elements * Make folder uids nullable and rewrite migration query * Use dashboard uid instead of folder_uid * Adjust test --------- Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
This commit is contained in:
@@ -61,4 +61,26 @@ func addLibraryElementsMigrations(mg *migrator.Migrator) {
|
||||
|
||||
mg.AddMigration("alter library_element model to mediumtext", migrator.NewRawSQLMigration("").
|
||||
Mysql("ALTER TABLE library_element MODIFY model MEDIUMTEXT NOT NULL;"))
|
||||
|
||||
q := `UPDATE library_element
|
||||
SET folder_uid = dashboard.uid
|
||||
FROM dashboard
|
||||
WHERE library_element.folder_id = dashboard.folder_id AND library_element.org_id = dashboard.org_id`
|
||||
|
||||
if mg.Dialect.DriverName() == migrator.MySQL {
|
||||
q = `UPDATE library_element
|
||||
SET folder_uid = (
|
||||
SELECT dashboard.uid
|
||||
FROM dashboard
|
||||
WHERE library_element.folder_id = dashboard.folder_id AND library_element.org_id = dashboard.org_id
|
||||
)`
|
||||
}
|
||||
|
||||
mg.AddMigration("add library_element folder uid", migrator.NewAddColumnMigration(libraryElementsV1, &migrator.Column{
|
||||
Name: "folder_uid", Type: migrator.DB_NVarchar, Length: 40, Nullable: true,
|
||||
}))
|
||||
|
||||
mg.AddMigration("populate library_element folder_uid", migrator.NewRawSQLMigration(q))
|
||||
|
||||
mg.AddMigration("add index library_element org_id-folder_uid-name-kind", migrator.NewAddIndexMigration(libraryElementsV1, &migrator.Index{Cols: []string{"org_id", "folder_uid", "name", "kind"}, Type: migrator.UniqueIndex}))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user