From e719595c5dc549b532e53b36a9a0616e63571b04 Mon Sep 17 00:00:00 2001 From: Petar Hristov Date: Mon, 25 Jul 2022 12:32:04 +0200 Subject: [PATCH 1/3] Update: Removed Size column from individual resource types tables from the Database --- .../Migration202207070957ResourceSize.cs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/Migrations/Migrations/Migration202207070957ResourceSize.cs diff --git a/src/Migrations/Migrations/Migration202207070957ResourceSize.cs b/src/Migrations/Migrations/Migration202207070957ResourceSize.cs new file mode 100644 index 0000000..0f16b02 --- /dev/null +++ b/src/Migrations/Migrations/Migration202207070957ResourceSize.cs @@ -0,0 +1,23 @@ +using FluentMigrator; + +namespace Coscine.Migrations.Migrations +{ + //yyyymmddhhmm + [Migration(202207070957)] + public class Migration202207070957ResourceSize : Migration + { + public override void Down() + { + Alter.Table("RDSResourceType").AddColumn("Size").AsInt32().NotNullable().WithDefaultValue(0); + Alter.Table("RdsS3ResourceType").AddColumn("Size").AsInt32().NotNullable().WithDefaultValue(0); + Alter.Table("RdsS3WormResourceType").AddColumn("Size").AsInt32().NotNullable().WithDefaultValue(0); + } + + public override void Up() + { + Delete.Column("Size").FromTable("RDSResourceType"); + Delete.Column("Size").FromTable("RdsS3ResourceType"); + Delete.Column("Size").FromTable("RdsS3WormResourceType"); + } + } +} -- GitLab From 2a68d386954eca7864a1e56be522b7f16b89dc5f Mon Sep 17 00:00:00 2001 From: Sandra Westerhoff <21272-sandra.westerhoff@users.noreply.git.rwth-aachen.de> Date: Tue, 26 Jul 2022 15:19:42 +0200 Subject: [PATCH 2/3] Update: Table GitlabResourceType --- src/Migrations/Migrations.csproj | 4 ++ ...Migration202207191035GitlabResourceType.cs | 51 +++++++++++++++++++ ...ion202207191035GitlabResourceType_down.sql | 11 ++++ ...ation202207191035GitlabResourceType_up.sql | 17 +++++++ 4 files changed, 83 insertions(+) create mode 100644 src/Migrations/Migrations/Migration202207191035GitlabResourceType.cs create mode 100644 src/Migrations/Migrations/Migration202207191035GitlabResourceType_down.sql create mode 100644 src/Migrations/Migrations/Migration202207191035GitlabResourceType_up.sql diff --git a/src/Migrations/Migrations.csproj b/src/Migrations/Migrations.csproj index 70da199..28fd7ab 100644 --- a/src/Migrations/Migrations.csproj +++ b/src/Migrations/Migrations.csproj @@ -26,6 +26,8 @@ + + @@ -42,6 +44,8 @@ + + diff --git a/src/Migrations/Migrations/Migration202207191035GitlabResourceType.cs b/src/Migrations/Migrations/Migration202207191035GitlabResourceType.cs new file mode 100644 index 0000000..e465819 --- /dev/null +++ b/src/Migrations/Migrations/Migration202207191035GitlabResourceType.cs @@ -0,0 +1,51 @@ +using Coscine.Configuration; +using FluentMigrator; + +namespace Coscine.Migrations.Migrations +{ + //yyyymmddhhmm + [Migration(202207191035)] + public class Migration202207191035GitlabResourceType : Migration + { + public override void Down() + { + Execute.EmbeddedScript("Migration202207191035GitlabResourceType_down.sql"); + + Update.Table("ResourceTypes") + .Set(new { Type = "gitlab", SpecificType = "gitlab" }) + .Where(new { DisplayName = "gitlab" }); + + // delete new table GitlabResourceType + Delete.Table("GitlabResourceType"); + + // create it like it was before + Create.Table("GitlabResourceType") + .WithColumn("Id").AsGuid().PrimaryKey().WithDefault(SystemMethods.NewGuid) + .WithColumn("RepositoryNumber").AsInt32().NotNullable() + .WithColumn("RepositoryUrl").AsString(500).NotNullable() + .WithColumn("Token").AsString(100).NotNullable(); + } + + public override void Up() + { + Update.Table("ResourceTypes") + .Set(new { Type = "gitlab", SpecificType = "gitlabrwth" }) + .Where(new { DisplayName = "gitlab" }); + + // Add quotas and delete old gitlab entries from resources table + Execute.EmbeddedScript("Migration202207191035GitlabResourceType_up.sql"); + + // delete table GitlabResourceType + Delete.Table("GitlabResourceType"); + + // and create it new + Create.Table("GitlabResourceType") + .WithColumn("Id").AsGuid().PrimaryKey().WithDefault(SystemMethods.NewGuid) + .WithColumn("Branch").AsString(200).NotNullable() + .WithColumn("GitlabProjectId").AsInt32().NotNullable() + .WithColumn("RepoUrl").AsString(200).NotNullable() + .WithColumn("ProjectAccessToken").AsString(200).NotNullable(); + + } + } +} \ No newline at end of file diff --git a/src/Migrations/Migrations/Migration202207191035GitlabResourceType_down.sql b/src/Migrations/Migrations/Migration202207191035GitlabResourceType_down.sql new file mode 100644 index 0000000..dd6459e --- /dev/null +++ b/src/Migrations/Migrations/Migration202207191035GitlabResourceType_down.sql @@ -0,0 +1,11 @@ +DECLARE @gitlabId AS uniqueidentifier +SELECT @gitlabId = [Id] +FROM [dbo].[ResourceTypes] +WHERE [DisplayName] = 'gitlab'; + +DELETE FROM [dbo].[ProjectQuotas] +WHERE [ResourceTypeId] = @gitlabId + +-- delete gitlab entries from resources +DELETE FROM [dbo].[Resources] +WHERE [TypeId] = @gitlabId \ No newline at end of file diff --git a/src/Migrations/Migrations/Migration202207191035GitlabResourceType_up.sql b/src/Migrations/Migrations/Migration202207191035GitlabResourceType_up.sql new file mode 100644 index 0000000..92668b6 --- /dev/null +++ b/src/Migrations/Migrations/Migration202207191035GitlabResourceType_up.sql @@ -0,0 +1,17 @@ +DECLARE @gitlabId AS uniqueidentifier +SELECT @gitlabId = [Id] +FROM [dbo].[ResourceTypes] +WHERE [DisplayName] = 'gitlab'; + +INSERT INTO [ProjectQuotas] + ([ProjectId] + ,[ResourceTypeId] + ,[Quota] + ,[MaxQuota]) + +SELECT [Id], @gitlabId, 0, 0 +FROM [Projects] + +-- delete old gitlab entries from resources +DELETE FROM [dbo].[Resources] +WHERE [TypeId] = @gitlabId -- GitLab From e36a2d964cb18f62e87e22741d1c6c5aee7b00b8 Mon Sep 17 00:00:00 2001 From: "L. Ellenbeck" Date: Fri, 29 Jul 2022 13:26:22 +0200 Subject: [PATCH 3/3] Fix: fixed migration by adding cascading delete (coscine/issues#1995) --- ...Migration202207191035GitlabResourceType.cs | 33 ++++++++++++++++++- ...ion202207191035GitlabResourceType_down.sql | 4 +-- ...ation202207191035GitlabResourceType_up.sql | 4 +-- 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/Migrations/Migrations/Migration202207191035GitlabResourceType.cs b/src/Migrations/Migrations/Migration202207191035GitlabResourceType.cs index e465819..1413e83 100644 --- a/src/Migrations/Migrations/Migration202207191035GitlabResourceType.cs +++ b/src/Migrations/Migrations/Migration202207191035GitlabResourceType.cs @@ -9,6 +9,22 @@ namespace Coscine.Migrations.Migrations { public override void Down() { + Delete.ForeignKey() + .FromTable("ResourceDiscipline").ForeignColumn("ResourceId") + .ToTable("Resources").PrimaryColumn("Id"); + + Create.ForeignKey() + .FromTable("ResourceDiscipline").ForeignColumn("ResourceId") + .ToTable("Resources").PrimaryColumn("Id"); + + Delete.ForeignKey() + .FromTable("ProjectResource").ForeignColumn("ResourceId") + .ToTable("Resources").PrimaryColumn("Id"); + + Create.ForeignKey() + .FromTable("ProjectResource").ForeignColumn("ResourceId") + .ToTable("Resources").PrimaryColumn("Id"); + Execute.EmbeddedScript("Migration202207191035GitlabResourceType_down.sql"); Update.Table("ResourceTypes") @@ -32,6 +48,22 @@ namespace Coscine.Migrations.Migrations .Set(new { Type = "gitlab", SpecificType = "gitlabrwth" }) .Where(new { DisplayName = "gitlab" }); + Delete.ForeignKey() + .FromTable("ResourceDiscipline").ForeignColumn("ResourceId") + .ToTable("Resources").PrimaryColumn("Id"); + + Create.ForeignKey() + .FromTable("ResourceDiscipline").ForeignColumn("ResourceId") + .ToTable("Resources").PrimaryColumn("Id").OnDeleteOrUpdate(System.Data.Rule.Cascade); + + Delete.ForeignKey() + .FromTable("ProjectResource").ForeignColumn("ResourceId") + .ToTable("Resources").PrimaryColumn("Id"); + + Create.ForeignKey() + .FromTable("ProjectResource").ForeignColumn("ResourceId") + .ToTable("Resources").PrimaryColumn("Id").OnDeleteOrUpdate(System.Data.Rule.Cascade); + // Add quotas and delete old gitlab entries from resources table Execute.EmbeddedScript("Migration202207191035GitlabResourceType_up.sql"); @@ -45,7 +77,6 @@ namespace Coscine.Migrations.Migrations .WithColumn("GitlabProjectId").AsInt32().NotNullable() .WithColumn("RepoUrl").AsString(200).NotNullable() .WithColumn("ProjectAccessToken").AsString(200).NotNullable(); - } } } \ No newline at end of file diff --git a/src/Migrations/Migrations/Migration202207191035GitlabResourceType_down.sql b/src/Migrations/Migrations/Migration202207191035GitlabResourceType_down.sql index dd6459e..15ae9a3 100644 --- a/src/Migrations/Migrations/Migration202207191035GitlabResourceType_down.sql +++ b/src/Migrations/Migrations/Migration202207191035GitlabResourceType_down.sql @@ -4,8 +4,8 @@ FROM [dbo].[ResourceTypes] WHERE [DisplayName] = 'gitlab'; DELETE FROM [dbo].[ProjectQuotas] -WHERE [ResourceTypeId] = @gitlabId +WHERE [ResourceTypeId] = @gitlabId; -- delete gitlab entries from resources DELETE FROM [dbo].[Resources] -WHERE [TypeId] = @gitlabId \ No newline at end of file +WHERE [TypeId] = @gitlabId; \ No newline at end of file diff --git a/src/Migrations/Migrations/Migration202207191035GitlabResourceType_up.sql b/src/Migrations/Migrations/Migration202207191035GitlabResourceType_up.sql index 92668b6..21975fe 100644 --- a/src/Migrations/Migrations/Migration202207191035GitlabResourceType_up.sql +++ b/src/Migrations/Migrations/Migration202207191035GitlabResourceType_up.sql @@ -10,8 +10,8 @@ INSERT INTO [ProjectQuotas] ,[MaxQuota]) SELECT [Id], @gitlabId, 0, 0 -FROM [Projects] +FROM [Projects]; -- delete old gitlab entries from resources DELETE FROM [dbo].[Resources] -WHERE [TypeId] = @gitlabId +WHERE [TypeId] = @gitlabId; -- GitLab