diff --git a/server/services/store/sqlstore/migrate.go b/server/services/store/sqlstore/migrate.go index 33e5a4e31..3153eb862 100644 --- a/server/services/store/sqlstore/migrate.go +++ b/server/services/store/sqlstore/migrate.go @@ -35,8 +35,8 @@ var assets embed.FS const ( uniqueIDsMigrationRequiredVersion = 14 - teamsAndBoardsMigrationRequiredVersion = 17 - categoriesUUIDIDMigrationRequiredVersion = 19 + teamsAndBoardsMigrationRequiredVersion = 18 + categoriesUUIDIDMigrationRequiredVersion = 20 tempSchemaMigrationTableName = "temp_schema_migration" ) diff --git a/server/services/store/sqlstore/migrations/000017_placeholder.down.sql b/server/services/store/sqlstore/migrations/000017_placeholder.down.sql new file mode 100644 index 000000000..a8e3a0a5e --- /dev/null +++ b/server/services/store/sqlstore/migrations/000017_placeholder.down.sql @@ -0,0 +1,2 @@ +-- Placeholder for fileinfo migration +SELECT 1; diff --git a/server/services/store/sqlstore/migrations/000017_placeholder.up.sql b/server/services/store/sqlstore/migrations/000017_placeholder.up.sql new file mode 100644 index 000000000..a8e3a0a5e --- /dev/null +++ b/server/services/store/sqlstore/migrations/000017_placeholder.up.sql @@ -0,0 +1,2 @@ +-- Placeholder for fileinfo migration +SELECT 1; diff --git a/server/services/store/sqlstore/migrations/000017_add_teams_and_boards.down.sql b/server/services/store/sqlstore/migrations/000018_add_teams_and_boards.down.sql similarity index 100% rename from server/services/store/sqlstore/migrations/000017_add_teams_and_boards.down.sql rename to server/services/store/sqlstore/migrations/000018_add_teams_and_boards.down.sql diff --git a/server/services/store/sqlstore/migrations/000017_add_teams_and_boards.up.sql b/server/services/store/sqlstore/migrations/000018_add_teams_and_boards.up.sql similarity index 72% rename from server/services/store/sqlstore/migrations/000017_add_teams_and_boards.up.sql rename to server/services/store/sqlstore/migrations/000018_add_teams_and_boards.up.sql index f39dd59ca..72bb0efe0 100644 --- a/server/services/store/sqlstore/migrations/000017_add_teams_and_boards.up.sql +++ b/server/services/store/sqlstore/migrations/000018_add_teams_and_boards.up.sql @@ -52,7 +52,7 @@ UPDATE {{.prefix}}blocks AS b /* TODO: Migrate the columnCalculations at app level and remove it from the boards and boards_history tables */ {{- /* add boards tables */ -}} -CREATE TABLE {{.prefix}}boards ( +CREATE TABLE IF NOT EXISTS {{.prefix}}boards ( id VARCHAR(36) NOT NULL PRIMARY KEY, {{if .postgres}}insert_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),{{end}} @@ -89,7 +89,7 @@ CREATE TABLE {{.prefix}}boards ( CREATE INDEX idx_board_team_id ON {{.prefix}}boards(team_id, is_template); -CREATE TABLE {{.prefix}}boards_history ( +CREATE TABLE IF NOT EXISTS {{.prefix}}boards_history ( id VARCHAR(36) NOT NULL, {{if .postgres}}insert_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),{{end}} @@ -274,137 +274,15 @@ CREATE TABLE {{.prefix}}boards_history ( {{- /* Update block references to boards*/ -}} -{{if .sqlite}} - UPDATE {{.prefix}}blocks as B - SET board_id=(SELECT id FROM {{.prefix}}blocks WHERE id=B.parent_id AND type='board') - WHERE EXISTS (SELECT id FROM {{.prefix}}blocks WHERE id=B.parent_id AND type='board'); - - UPDATE {{.prefix}}blocks as B - SET board_id=(SELECT GP.id FROM {{.prefix}}blocks as GP JOIN {{.prefix}}blocks AS P ON GP.id=P.parent_id WHERE P.id=B.parent_id AND GP.type = 'board') - WHERE EXISTS (SELECT GP.id FROM {{.prefix}}blocks as GP JOIN {{.prefix}}blocks AS P ON GP.id=P.parent_id WHERE P.id=B.parent_id AND GP.type = 'board'); - - UPDATE {{.prefix}}blocks as B - SET board_id=(SELECT GGP.id FROM {{.prefix}}blocks as GGP JOIN {{.prefix}}blocks as GP ON GGP.id=GP.parent_id JOIN {{.prefix}}blocks as P ON GP.id=P.parent_id WHERE P.id=B.parent_id AND GGP.type = 'board') - WHERE EXISTS (SELECT GGP.id FROM {{.prefix}}blocks as GGP JOIN {{.prefix}}blocks as GP ON GGP.id=GP.parent_id JOIN {{.prefix}}blocks as P ON GP.id=P.parent_id WHERE P.id=B.parent_id AND GGP.type = 'board'); - - UPDATE {{.prefix}}blocks_history as B - SET board_id=(SELECT id FROM {{.prefix}}blocks_history WHERE id=B.parent_id AND type='board') - WHERE EXISTS (SELECT id FROM {{.prefix}}blocks_history WHERE id=B.parent_id AND type='board'); - - UPDATE {{.prefix}}blocks_history as B - SET board_id=(SELECT GP.id FROM {{.prefix}}blocks_history as GP JOIN {{.prefix}}blocks_history AS P ON GP.id=P.parent_id WHERE P.id=B.parent_id AND GP.type = 'board') - WHERE EXISTS (SELECT GP.id FROM {{.prefix}}blocks_history as GP JOIN {{.prefix}}blocks_history AS P ON GP.id=P.parent_id WHERE P.id=B.parent_id AND GP.type = 'board'); - - UPDATE {{.prefix}}blocks_history as B - SET board_id=(SELECT GGP.id FROM {{.prefix}}blocks_history as GGP JOIN {{.prefix}}blocks_history as GP ON GGP.id=GP.parent_id JOIN {{.prefix}}blocks_history as P ON GP.id=P.parent_id WHERE P.id=B.parent_id AND GGP.type = 'board') - WHERE EXISTS (SELECT GGP.id FROM {{.prefix}}blocks_history as GGP JOIN {{.prefix}}blocks_history as GP ON GGP.id=GP.parent_id JOIN {{.prefix}}blocks_history as P ON GP.id=P.parent_id WHERE P.id=B.parent_id AND GGP.type = 'board'); -{{end}} -{{if .mysql}} - UPDATE {{.prefix}}blocks as B -INNER JOIN {{.prefix}}blocks as P - ON B.parent_id=P.id - SET B.board_id=P.id - WHERE P.type = 'board'; - - UPDATE {{.prefix}}blocks as B -INNER JOIN {{.prefix}}blocks as P - ON B.parent_id=P.id -INNER JOIN {{.prefix}}blocks as GP - ON P.parent_id=GP.id - SET B.board_id=GP.id - WHERE GP.type = 'board'; - - UPDATE {{.prefix}}blocks as B -INNER JOIN {{.prefix}}blocks as P - ON B.parent_id=P.id -INNER JOIN {{.prefix}}blocks as GP - ON P.parent_id=GP.id -INNER JOIN {{.prefix}}blocks as GPP - ON GP.parent_id=GPP.id - SET B.board_id=GPP.id - WHERE GPP.type = 'board'; - - UPDATE {{.prefix}}blocks_history as B -INNER JOIN {{.prefix}}blocks_history as P - ON B.parent_id=P.id - SET B.board_id=P.id - WHERE P.type = 'board'; - - UPDATE {{.prefix}}blocks_history as B -INNER JOIN {{.prefix}}blocks_history as P - ON B.parent_id=P.id -INNER JOIN {{.prefix}}blocks_history as GP - ON P.parent_id=GP.id - SET B.board_id=GP.id - WHERE GP.type = 'board'; - - UPDATE {{.prefix}}blocks_history as B -INNER JOIN {{.prefix}}blocks_history as P - ON B.parent_id=P.id -INNER JOIN {{.prefix}}blocks_history as GP - ON P.parent_id=GP.id -INNER JOIN {{.prefix}}blocks_history as GPP - ON GP.parent_id=GPP.id - SET B.board_id=GPP.id - WHERE GPP.type = 'board'; -{{end}} -{{if .postgres}} - UPDATE {{.prefix}}blocks as B - SET board_id=P.id - FROM {{.prefix}}blocks as P - WHERE B.parent_id=P.id - AND P.type = 'board'; - - UPDATE {{.prefix}}blocks as B - SET board_id=GP.id - FROM {{.prefix}}blocks as P, - {{.prefix}}blocks as GP - WHERE B.parent_id=P.id - AND P.parent_id=GP.id - AND GP.type = 'board'; - - UPDATE {{.prefix}}blocks as B - SET board_id=GGP.id - FROM {{.prefix}}blocks as P, - {{.prefix}}blocks as GP, - {{.prefix}}blocks as GGP - WHERE B.parent_id=P.id - AND P.parent_id=GP.id - AND GP.parent_id=GGP.id - AND GGP.type = 'board'; - - UPDATE {{.prefix}}blocks_history as B - SET board_id=P.id - FROM {{.prefix}}blocks_history as P - WHERE B.parent_id=P.id - AND P.type = 'board'; - - UPDATE {{.prefix}}blocks_history as B - SET board_id=GP.id - FROM {{.prefix}}blocks_history as P, - {{.prefix}}blocks_history as GP - WHERE B.parent_id=P.id - AND P.parent_id=GP.id - AND GP.type = 'board'; - - UPDATE {{.prefix}}blocks_history as B - SET board_id=GGP.id - FROM {{.prefix}}blocks_history as P, - {{.prefix}}blocks_history as GP, - {{.prefix}}blocks_history as GGP - WHERE B.parent_id=P.id - AND P.parent_id=GP.id - AND GP.parent_id=GGP.id - AND GGP.type = 'board'; -{{end}} - +UPDATE {{.prefix}}blocks SET board_id=root_id; +UPDATE {{.prefix}}blocks_history SET board_id=root_id; {{- /* Remove boards, including templates */ -}} DELETE FROM {{.prefix}}blocks WHERE type = 'board'; DELETE FROM {{.prefix}}blocks_history WHERE type = 'board'; {{- /* add board_members */ -}} -CREATE TABLE {{.prefix}}board_members ( +CREATE TABLE IF NOT EXISTS {{.prefix}}board_members ( board_id VARCHAR(36) NOT NULL, user_id VARCHAR(36) NOT NULL, roles VARCHAR(64), diff --git a/server/services/store/sqlstore/migrations/000018_populate_categories.down.sql b/server/services/store/sqlstore/migrations/000019_populate_categories.down.sql similarity index 100% rename from server/services/store/sqlstore/migrations/000018_populate_categories.down.sql rename to server/services/store/sqlstore/migrations/000019_populate_categories.down.sql diff --git a/server/services/store/sqlstore/migrations/000018_populate_categories.up.sql b/server/services/store/sqlstore/migrations/000019_populate_categories.up.sql similarity index 96% rename from server/services/store/sqlstore/migrations/000018_populate_categories.up.sql rename to server/services/store/sqlstore/migrations/000019_populate_categories.up.sql index 98b5f98eb..695402d60 100644 --- a/server/services/store/sqlstore/migrations/000018_populate_categories.up.sql +++ b/server/services/store/sqlstore/migrations/000019_populate_categories.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE {{.prefix}}categories ( +CREATE TABLE IF NOT EXISTS {{.prefix}}categories ( id varchar(36) NOT NULL, name varchar(100) NOT NULL, user_id varchar(36) NOT NULL, diff --git a/server/services/store/sqlstore/migrations/000019_populate_category_blocks.down.sql b/server/services/store/sqlstore/migrations/000020_populate_category_blocks.down.sql similarity index 100% rename from server/services/store/sqlstore/migrations/000019_populate_category_blocks.down.sql rename to server/services/store/sqlstore/migrations/000020_populate_category_blocks.down.sql diff --git a/server/services/store/sqlstore/migrations/000019_populate_category_blocks.up.sql b/server/services/store/sqlstore/migrations/000020_populate_category_blocks.up.sql similarity index 95% rename from server/services/store/sqlstore/migrations/000019_populate_category_blocks.up.sql rename to server/services/store/sqlstore/migrations/000020_populate_category_blocks.up.sql index 4ed01f93e..2846c53eb 100644 --- a/server/services/store/sqlstore/migrations/000019_populate_category_blocks.up.sql +++ b/server/services/store/sqlstore/migrations/000020_populate_category_blocks.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE {{.prefix}}category_boards ( +CREATE TABLE IF NOT EXISTS {{.prefix}}category_boards ( id varchar(36) NOT NULL, user_id varchar(36) NOT NULL, category_id varchar(36) NOT NULL, diff --git a/server/services/store/sqlstore/migrations/000020_create_boards_members_history.down.sql b/server/services/store/sqlstore/migrations/000021_create_boards_members_history.down.sql similarity index 100% rename from server/services/store/sqlstore/migrations/000020_create_boards_members_history.down.sql rename to server/services/store/sqlstore/migrations/000021_create_boards_members_history.down.sql diff --git a/server/services/store/sqlstore/migrations/000020_create_boards_members_history.up.sql b/server/services/store/sqlstore/migrations/000021_create_boards_members_history.up.sql similarity index 92% rename from server/services/store/sqlstore/migrations/000020_create_boards_members_history.up.sql rename to server/services/store/sqlstore/migrations/000021_create_boards_members_history.up.sql index adf74a226..7bc327568 100644 --- a/server/services/store/sqlstore/migrations/000020_create_boards_members_history.up.sql +++ b/server/services/store/sqlstore/migrations/000021_create_boards_members_history.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE {{.prefix}}board_members_history ( +CREATE TABLE IF NOT EXISTS {{.prefix}}board_members_history ( board_id VARCHAR(36) NOT NULL, user_id VARCHAR(36) NOT NULL, action VARCHAR(10), diff --git a/server/services/store/sqlstore/migrations/000021_create_default_board_role.down.sql b/server/services/store/sqlstore/migrations/000022_create_default_board_role.down.sql similarity index 100% rename from server/services/store/sqlstore/migrations/000021_create_default_board_role.down.sql rename to server/services/store/sqlstore/migrations/000022_create_default_board_role.down.sql diff --git a/server/services/store/sqlstore/migrations/000021_create_default_board_role.up.sql b/server/services/store/sqlstore/migrations/000022_create_default_board_role.up.sql similarity index 100% rename from server/services/store/sqlstore/migrations/000021_create_default_board_role.up.sql rename to server/services/store/sqlstore/migrations/000022_create_default_board_role.up.sql