|
|
|
@ -59,28 +59,37 @@ func (m *FillDashbordUIDMigration) Exec(sess *xorm.Session, mg *Migrator) error |
|
|
|
|
func RunStarMigrations(sess *xorm.Session, driverName string) error { |
|
|
|
|
// sqlite
|
|
|
|
|
sql := `UPDATE star |
|
|
|
|
SET
|
|
|
|
|
SET |
|
|
|
|
dashboard_uid = (SELECT uid FROM dashboard WHERE dashboard.id = star.dashboard_id), |
|
|
|
|
org_id = (SELECT org_id FROM dashboard WHERE dashboard.id = star.dashboard_id), |
|
|
|
|
updated = DATETIME('now') |
|
|
|
|
WHERE
|
|
|
|
|
WHERE |
|
|
|
|
(dashboard_uid IS NULL OR org_id IS NULL) |
|
|
|
|
AND EXISTS (SELECT 1 FROM dashboard WHERE dashboard.id = star.dashboard_id);` |
|
|
|
|
if driverName == Postgres { |
|
|
|
|
sql = `UPDATE star
|
|
|
|
|
SET dashboard_uid = dashboard.uid,
|
|
|
|
|
sql = `UPDATE star |
|
|
|
|
SET dashboard_uid = dashboard.uid, |
|
|
|
|
org_id = dashboard.org_id, |
|
|
|
|
updated = NOW() |
|
|
|
|
FROM dashboard
|
|
|
|
|
FROM dashboard |
|
|
|
|
WHERE star.dashboard_id = dashboard.id |
|
|
|
|
AND (star.dashboard_uid IS NULL OR star.org_id IS NULL);` |
|
|
|
|
} else if driverName == MySQL { |
|
|
|
|
sql = `UPDATE star
|
|
|
|
|
LEFT JOIN dashboard ON star.dashboard_id = dashboard.id
|
|
|
|
|
SET star.dashboard_uid = dashboard.uid,
|
|
|
|
|
sql = `UPDATE star |
|
|
|
|
LEFT JOIN dashboard ON star.dashboard_id = dashboard.id |
|
|
|
|
SET star.dashboard_uid = dashboard.uid, |
|
|
|
|
star.org_id = dashboard.org_id, |
|
|
|
|
star.updated = NOW() |
|
|
|
|
WHERE star.dashboard_uid IS NULL OR star.org_id IS NULL;` |
|
|
|
|
} else if driverName == Spanner { |
|
|
|
|
sql = `UPDATE star |
|
|
|
|
SET |
|
|
|
|
dashboard_uid = (SELECT uid FROM dashboard WHERE dashboard.id = star.dashboard_id), |
|
|
|
|
org_id = (SELECT org_id FROM dashboard WHERE dashboard.id = star.dashboard_id), |
|
|
|
|
updated = CURRENT_TIMESTAMP() |
|
|
|
|
WHERE |
|
|
|
|
(dashboard_uid IS NULL OR org_id IS NULL) |
|
|
|
|
AND EXISTS (SELECT 1 FROM dashboard WHERE dashboard.id = star.dashboard_id)` |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if _, err := sess.Exec(sql); err != nil { |
|
|
|
|