From 6249beb4650d2e5c2ea6a9ecd9ff4cf5d0f93a5c Mon Sep 17 00:00:00 2001 From: Zach Wasserman Date: Wed, 16 Jun 2021 11:58:00 -0700 Subject: [PATCH] Reorder migrations for pre-4.0 upgrades (#1114) Reorder migrations from the long-running `teams` branch to ensure that they can run successfully for deployments upgrading from a pre-4.0 release. All migrations from the `teams` branch are reordered to take place _after_ all migrations from the `main` branch, using `20210601` as the new date, after the latest released `main` branch migration on `20210526`. Fixes #1058 --- ...eTeamsTables.go => 20210601000001_CreateTeamsTables.go} | 6 +++--- ...lesToInvites.go => 20210601000002_AddRolesToInvites.go} | 6 +++--- ...3434_MigrateAdmin.go => 20210601000003_MigrateAdmin.go} | 6 +++--- ...153510_DeleteUsers.go => 20210601000004_DeleteUsers.go} | 6 +++--- ...AgentOptions.go => 20210601000005_TeamsAgentOptions.go} | 7 ++++--- ...llowup.go => 20210601000006_TeamsGlobalAgentOptions.go} | 6 +++--- ...erQueries.go => 20210601000007_TeamsObserverQueries.go} | 6 +++--- ...rollSecrets.go => 20210601000008_TeamsEnrollSecrets.go} | 6 +++--- 8 files changed, 25 insertions(+), 24 deletions(-) rename server/datastore/mysql/migrations/tables/{20210401111056_CreateTeamsTables.go => 20210601000001_CreateTeamsTables.go} (89%) rename server/datastore/mysql/migrations/tables/{20210401164226_AddRolesToInvites.go => 20210601000002_AddRolesToInvites.go} (82%) rename server/datastore/mysql/migrations/tables/{20210406113434_MigrateAdmin.go => 20210601000003_MigrateAdmin.go} (88%) rename server/datastore/mysql/migrations/tables/{20210408153510_DeleteUsers.go => 20210601000004_DeleteUsers.go} (71%) rename server/datastore/mysql/migrations/tables/{20210428163822_TeamAgentOptions.go => 20210601000005_TeamsAgentOptions.go} (63%) rename server/datastore/mysql/migrations/tables/{20210510111225_TeamsAgentOptionsFollowup.go => 20210601000006_TeamsGlobalAgentOptions.go} (92%) rename server/datastore/mysql/migrations/tables/{20210517112751_TeamsObserverQueries.go => 20210601000007_TeamsObserverQueries.go} (66%) rename server/datastore/mysql/migrations/tables/{20210527151852_TeamsEnrollSecrets.go => 20210601000008_TeamsEnrollSecrets.go} (86%) diff --git a/server/datastore/mysql/migrations/tables/20210401111056_CreateTeamsTables.go b/server/datastore/mysql/migrations/tables/20210601000001_CreateTeamsTables.go similarity index 89% rename from server/datastore/mysql/migrations/tables/20210401111056_CreateTeamsTables.go rename to server/datastore/mysql/migrations/tables/20210601000001_CreateTeamsTables.go index 0aa59edd76..007dd89c11 100644 --- a/server/datastore/mysql/migrations/tables/20210401111056_CreateTeamsTables.go +++ b/server/datastore/mysql/migrations/tables/20210601000001_CreateTeamsTables.go @@ -7,10 +7,10 @@ import ( ) func init() { - MigrationClient.AddMigration(Up_20210315111056, Down_20210315111056) + MigrationClient.AddMigration(Up_20210601000001, Down_20210601000001) } -func Up_20210315111056(tx *sql.Tx) error { +func Up_20210601000001(tx *sql.Tx) error { if _, err := tx.Exec(`CREATE TABLE IF NOT EXISTS teams ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, @@ -49,6 +49,6 @@ func Up_20210315111056(tx *sql.Tx) error { return nil } -func Down_20210315111056(tx *sql.Tx) error { +func Down_20210601000001(tx *sql.Tx) error { return nil } diff --git a/server/datastore/mysql/migrations/tables/20210401164226_AddRolesToInvites.go b/server/datastore/mysql/migrations/tables/20210601000002_AddRolesToInvites.go similarity index 82% rename from server/datastore/mysql/migrations/tables/20210401164226_AddRolesToInvites.go rename to server/datastore/mysql/migrations/tables/20210601000002_AddRolesToInvites.go index b6b193f931..602a26f6e4 100644 --- a/server/datastore/mysql/migrations/tables/20210401164226_AddRolesToInvites.go +++ b/server/datastore/mysql/migrations/tables/20210601000002_AddRolesToInvites.go @@ -7,10 +7,10 @@ import ( ) func init() { - MigrationClient.AddMigration(Up_20210401164226, Down_20210401164226) + MigrationClient.AddMigration(Up_20210601000002, Down_20210601000002) } -func Up_20210401164226(tx *sql.Tx) error { +func Up_20210601000002(tx *sql.Tx) error { // Invites <> Teams mapping if _, err := tx.Exec(`CREATE TABLE IF NOT EXISTS invite_teams ( invite_id INT UNSIGNED NOT NULL, @@ -32,6 +32,6 @@ func Up_20210401164226(tx *sql.Tx) error { return nil } -func Down_20210401164226(tx *sql.Tx) error { +func Down_20210601000002(tx *sql.Tx) error { return nil } diff --git a/server/datastore/mysql/migrations/tables/20210406113434_MigrateAdmin.go b/server/datastore/mysql/migrations/tables/20210601000003_MigrateAdmin.go similarity index 88% rename from server/datastore/mysql/migrations/tables/20210406113434_MigrateAdmin.go rename to server/datastore/mysql/migrations/tables/20210601000003_MigrateAdmin.go index e7c2cc6dfa..c7c379ed8c 100644 --- a/server/datastore/mysql/migrations/tables/20210406113434_MigrateAdmin.go +++ b/server/datastore/mysql/migrations/tables/20210601000003_MigrateAdmin.go @@ -7,10 +7,10 @@ import ( ) func init() { - MigrationClient.AddMigration(Up_20210406113434, Down_20210406113434) + MigrationClient.AddMigration(Up_20210601000003, Down_20210601000003) } -func Up_20210406113434(tx *sql.Tx) error { +func Up_20210601000003(tx *sql.Tx) error { // Old admins become global admins query := ` UPDATE users @@ -69,6 +69,6 @@ func Up_20210406113434(tx *sql.Tx) error { return nil } -func Down_20210406113434(tx *sql.Tx) error { +func Down_20210601000003(tx *sql.Tx) error { return nil } diff --git a/server/datastore/mysql/migrations/tables/20210408153510_DeleteUsers.go b/server/datastore/mysql/migrations/tables/20210601000004_DeleteUsers.go similarity index 71% rename from server/datastore/mysql/migrations/tables/20210408153510_DeleteUsers.go rename to server/datastore/mysql/migrations/tables/20210601000004_DeleteUsers.go index fad3d3c04b..cfef8c10b4 100644 --- a/server/datastore/mysql/migrations/tables/20210408153510_DeleteUsers.go +++ b/server/datastore/mysql/migrations/tables/20210601000004_DeleteUsers.go @@ -7,10 +7,10 @@ import ( ) func init() { - MigrationClient.AddMigration(Up_20210408153510, Down_20210408153510) + MigrationClient.AddMigration(Up_20210601000004, Down_20210601000004) } -func Up_20210408153510(tx *sql.Tx) error { +func Up_20210601000004(tx *sql.Tx) error { query := "DELETE FROM users WHERE NOT enabled" if _, err := tx.Exec(query); err != nil { return errors.Wrap(err, "delete disabled users") @@ -23,6 +23,6 @@ func Up_20210408153510(tx *sql.Tx) error { return nil } -func Down_20210408153510(tx *sql.Tx) error { +func Down_20210601000004(tx *sql.Tx) error { return nil } diff --git a/server/datastore/mysql/migrations/tables/20210428163822_TeamAgentOptions.go b/server/datastore/mysql/migrations/tables/20210601000005_TeamsAgentOptions.go similarity index 63% rename from server/datastore/mysql/migrations/tables/20210428163822_TeamAgentOptions.go rename to server/datastore/mysql/migrations/tables/20210601000005_TeamsAgentOptions.go index 39e4a2fce5..67134649e1 100644 --- a/server/datastore/mysql/migrations/tables/20210428163822_TeamAgentOptions.go +++ b/server/datastore/mysql/migrations/tables/20210601000005_TeamsAgentOptions.go @@ -7,10 +7,10 @@ import ( ) func init() { - MigrationClient.AddMigration(Up_20210428163822, Down_20210428163822) + MigrationClient.AddMigration(Up_20210601000005, Down_20210601000005) } -func Up_20210428163822(tx *sql.Tx) error { +func Up_20210601000005(tx *sql.Tx) error { sql := ` ALTER TABLE teams ADD COLUMN agent_options JSON @@ -18,9 +18,10 @@ func Up_20210428163822(tx *sql.Tx) error { if _, err := tx.Exec(sql); err != nil { return errors.Wrap(err, "add column agent_options") } + return nil } -func Down_20210428163822(tx *sql.Tx) error { +func Down_20210601000005(tx *sql.Tx) error { return nil } diff --git a/server/datastore/mysql/migrations/tables/20210510111225_TeamsAgentOptionsFollowup.go b/server/datastore/mysql/migrations/tables/20210601000006_TeamsGlobalAgentOptions.go similarity index 92% rename from server/datastore/mysql/migrations/tables/20210510111225_TeamsAgentOptionsFollowup.go rename to server/datastore/mysql/migrations/tables/20210601000006_TeamsGlobalAgentOptions.go index 01411e0d35..5b8443ad3a 100644 --- a/server/datastore/mysql/migrations/tables/20210510111225_TeamsAgentOptionsFollowup.go +++ b/server/datastore/mysql/migrations/tables/20210601000006_TeamsGlobalAgentOptions.go @@ -11,10 +11,10 @@ import ( ) func init() { - MigrationClient.AddMigration(Up_20210510111225, Down_20210510111225) + MigrationClient.AddMigration(Up_20210601000006, Down_20210601000006) } -func Up_20210510111225(tx *sql.Tx) error { +func Up_20210601000006(tx *sql.Tx) error { existingOptions, err := copyOptions(tx) if err != nil { return errors.Wrap(err, "get existing options") @@ -80,6 +80,6 @@ type optionsRow struct { Options string `db:"options"` } -func Down_20210510111225(tx *sql.Tx) error { +func Down_20210601000006(tx *sql.Tx) error { return nil } diff --git a/server/datastore/mysql/migrations/tables/20210517112751_TeamsObserverQueries.go b/server/datastore/mysql/migrations/tables/20210601000007_TeamsObserverQueries.go similarity index 66% rename from server/datastore/mysql/migrations/tables/20210517112751_TeamsObserverQueries.go rename to server/datastore/mysql/migrations/tables/20210601000007_TeamsObserverQueries.go index 444358985a..007527208a 100644 --- a/server/datastore/mysql/migrations/tables/20210517112751_TeamsObserverQueries.go +++ b/server/datastore/mysql/migrations/tables/20210601000007_TeamsObserverQueries.go @@ -7,10 +7,10 @@ import ( ) func init() { - MigrationClient.AddMigration(Up_20210517112751, Down_20210517112751) + MigrationClient.AddMigration(Up_20210601000007, Down_20210601000007) } -func Up_20210517112751(tx *sql.Tx) error { +func Up_20210601000007(tx *sql.Tx) error { sql := ` ALTER TABLE queries ADD COLUMN observer_can_run TINYINT(1) NOT NULL DEFAULT FALSE @@ -21,6 +21,6 @@ func Up_20210517112751(tx *sql.Tx) error { return nil } -func Down_20210517112751(tx *sql.Tx) error { +func Down_20210601000007(tx *sql.Tx) error { return nil } diff --git a/server/datastore/mysql/migrations/tables/20210527151852_TeamsEnrollSecrets.go b/server/datastore/mysql/migrations/tables/20210601000008_TeamsEnrollSecrets.go similarity index 86% rename from server/datastore/mysql/migrations/tables/20210527151852_TeamsEnrollSecrets.go rename to server/datastore/mysql/migrations/tables/20210601000008_TeamsEnrollSecrets.go index bdd79de139..5b09ed1285 100644 --- a/server/datastore/mysql/migrations/tables/20210527151852_TeamsEnrollSecrets.go +++ b/server/datastore/mysql/migrations/tables/20210601000008_TeamsEnrollSecrets.go @@ -7,10 +7,10 @@ import ( ) func init() { - MigrationClient.AddMigration(Up_20210527151852, Down_20210527151852) + MigrationClient.AddMigration(Up_20210601000008, Down_20210601000008) } -func Up_20210527151852(tx *sql.Tx) error { +func Up_20210601000008(tx *sql.Tx) error { // Add team_id sql := ` ALTER TABLE enroll_secrets @@ -51,6 +51,6 @@ func Up_20210527151852(tx *sql.Tx) error { return nil } -func Down_20210527151852(tx *sql.Tx) error { +func Down_20210601000008(tx *sql.Tx) error { return nil }