Cloud Migration: Remove ID migration in favor of UID (#86550)
* - Added migration to add a new collumn UID to both migration and migration_run tables. - Added migration to set UID for records already existent in the database before adding a new column. - Added UID field to CloudMigration and CloudMigrationRun dtos (model.go) * Fix db migration * Updating store and model * Updating API to use UID * fix typo * update openapi specs and generated endpoints * fix spec * update openapi specs and generated endpoints * Fixing db mapping * Fix frontend * fix migration * remove migration uid from run fetch endpoint * Revert "merge" This reverts commitd654e4c530, reversing changes made to5fe0b483eb. * manual merge * rename some funcs for consistency * make interfaces consistent * validate uids * update generated frontend api * fix enterprise spec * manually resolve api * try again * try yet again * once more --------- Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com> Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com> Co-authored-by: joshhunt <josh@trtr.co>
This commit is contained in:
co-authored by
Josh Hunt
Michael Mandrus
joshhunt
parent
fcb40e601d
commit
0719f73f35
@@ -37,4 +37,30 @@ func addCloudMigrationsMigrations(mg *Migrator) {
|
||||
mg.AddMigration("add stack_id column", NewAddColumnMigration(migrationTable, &stackIDColumn))
|
||||
mg.AddMigration("add region_slug column", NewAddColumnMigration(migrationTable, ®ionSlugColumn))
|
||||
mg.AddMigration("add cluster_slug column", NewAddColumnMigration(migrationTable, &clusterSlugColumn))
|
||||
|
||||
// --- adding uid to migration
|
||||
migUidColumn := Column{Name: "uid", Type: DB_NVarchar, Length: 40, Nullable: true}
|
||||
mg.AddMigration("add migration uid column", NewAddColumnMigration(migrationTable, &migUidColumn))
|
||||
|
||||
mg.AddMigration("Update uid column values for migration", NewRawSQLMigration("").
|
||||
SQLite("UPDATE cloud_migration SET uid=printf('u%09d',id) WHERE uid IS NULL;").
|
||||
Postgres("UPDATE `cloud_migration` SET uid='u' || lpad('' || id::text,9,'0') WHERE uid IS NULL;").
|
||||
Mysql("UPDATE cloud_migration SET uid=concat('u',lpad(id,9,'0')) WHERE uid IS NULL;"))
|
||||
|
||||
mg.AddMigration("Add unique index migration_uid", NewAddIndexMigration(migrationTable, &Index{
|
||||
Cols: []string{"uid"}, Type: UniqueIndex,
|
||||
}))
|
||||
|
||||
// --- adding uid to migration run
|
||||
runUidColumn := Column{Name: "uid", Type: DB_NVarchar, Length: 40, Nullable: true}
|
||||
mg.AddMigration("add migration run uid column", NewAddColumnMigration(migrationRunTable, &runUidColumn))
|
||||
|
||||
mg.AddMigration("Update uid column values for migration run", NewRawSQLMigration("").
|
||||
SQLite("UPDATE cloud_migration_run SET uid=printf('u%09d',id) WHERE uid IS NULL;").
|
||||
Postgres("UPDATE `cloud_migration_run` SET uid='u' || lpad('' || id::text,9,'0') WHERE uid IS NULL;").
|
||||
Mysql("UPDATE cloud_migration_run SET uid=concat('u',lpad(id,9,'0')) WHERE uid IS NULL;"))
|
||||
|
||||
mg.AddMigration("Add unique index migration_run_uid", NewAddIndexMigration(migrationRunTable, &Index{
|
||||
Cols: []string{"uid"}, Type: UniqueIndex,
|
||||
}))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user