From beca0400c41b401eb910f476d3d74c081cf9c43d Mon Sep 17 00:00:00 2001 From: Marcel Nellesen <nellesen@itc.rwth-aachen.de> Date: Mon, 16 Dec 2019 12:55:28 +0100 Subject: [PATCH] New: Add Attributes for Shibboleth Integration (coscine/issues#525) New: Altered DB for Bucket Application (coscine/issues#526) --- .../Migration201912060900BucketApplication.cs | 52 +++++++++++++++++++ ...Migration201912091553ShibbolethAddition.cs | 33 ++++++++++++ src/Migrator/Migrator.csproj | 6 ++- 3 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 src/Migrator/Migrations/Migration201912060900BucketApplication.cs create mode 100644 src/Migrator/Migrations/Migration201912091553ShibbolethAddition.cs diff --git a/src/Migrator/Migrations/Migration201912060900BucketApplication.cs b/src/Migrator/Migrations/Migration201912060900BucketApplication.cs new file mode 100644 index 0000000..91a2123 --- /dev/null +++ b/src/Migrator/Migrations/Migration201912060900BucketApplication.cs @@ -0,0 +1,52 @@ +using FluentMigrator; +using System; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Xml; +using System.Xml.Linq; + +#region DupFinder Exclusion +namespace Coscine.Database.Migration.Migrations +{ + //yyyymmddhhmm + [Migration(201912060900)] + public class Migration201912060900BucketApplication : FluentMigrator.Migration + { + public override void Down() + { + // update the resource type table + Delete.FromTable("ResourceTypes").Row(new { DisplayName = "rds" }); + Update.Table("ResourceTypes").Set(new { DisplayName = "rds" }).Where(new { DisplayName = "s3" }); + + // deletion of the table + Delete.Table("RDSResourceType"); + + // renaming of the s3resource table + Rename.Table("S3ResourceType").To("RDSResourceType"); + Execute.Sql("EXEC sp_rename 'DF_S3ResourceType_Id','DF_RDSResourceType_Id', 'object'"); + Execute.Sql("EXEC sp_rename N'PK_S3ResourceType', 'PK_RDSResourceType', 'object';"); + } + + + public override void Up() + { + // update the resource type table + Update.Table("ResourceTypes").Set(new { DisplayName = "s3" }).Where(new { DisplayName = "rds" }); + Insert.IntoTable("ResourceTypes").Row(new { DisplayName = "rds" }); + + // renaming of the rdsresource table + Rename.Table("RDSResourceType").To("S3ResourceType"); + Execute.Sql("EXEC sp_rename 'DF_RDSResourceType_Id','DF_S3ResourceType_Id', 'object'"); + Execute.Sql("EXEC sp_rename N'PK_RDSResourceType', 'PK_S3ResourceType', 'object';"); + + // creation of the new table + Create.Table("RDSResourceType") + .WithColumn("Id").AsGuid().PrimaryKey().WithDefault(SystemMethods.NewGuid) + .WithColumn("BucketName").AsString(63).NotNullable() + .WithColumn("Size").AsInt32().Nullable(); + } + + } +} +#endregion \ No newline at end of file diff --git a/src/Migrator/Migrations/Migration201912091553ShibbolethAddition.cs b/src/Migrator/Migrations/Migration201912091553ShibbolethAddition.cs new file mode 100644 index 0000000..dab570b --- /dev/null +++ b/src/Migrator/Migrations/Migration201912091553ShibbolethAddition.cs @@ -0,0 +1,33 @@ +using FluentMigrator; +using System; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Xml; +using System.Xml.Linq; + +#region DupFinder Exclusion +namespace Coscine.Database.Migration.Migrations +{ + //yyyymmddhhmm + [Migration(201912091553)] + public class Migration201912091553ShibbolethAddition : FluentMigrator.Migration + { + public override void Down() + { + Delete.FromTable("ExternalAuthenticators").Row(new { DisplayName = "Shibboleth" }); + + Delete.Column("Entitlement").FromTable("Users"); + Delete.Column("Organization").FromTable("Users"); + } + + public override void Up() + { + Insert.IntoTable("ExternalAuthenticators").Row(new { DisplayName = "Shibboleth" }); + + Alter.Table("Users").AddColumn("Entitlement").AsString(200).Nullable(); + Alter.Table("Users").AddColumn("Organization").AsString(200).Nullable(); + } + } +} +#endregion \ No newline at end of file diff --git a/src/Migrator/Migrator.csproj b/src/Migrator/Migrator.csproj index 55ca067..0f32d6f 100644 --- a/src/Migrator/Migrator.csproj +++ b/src/Migrator/Migrator.csproj @@ -155,8 +155,10 @@ <Compile Include="Migrations\Migration201907100900UserProfilesApi.cs" /> <Compile Include="Migrations\Migration201908231520ResourceDisplayName.cs" /> <Compile Include="Migrations\Migration201910161154InstitutesDisciplines.cs" /> - <Compile Include="Migrations\Migration201910241600ResourceMetadata.cs" /> - <Compile Include="Migrations\Migration201911040900EnglishDFG.cs" /> + <Compile Include="Migrations\Migration201910241600ResourceMetadata.cs" /> + <Compile Include="Migrations\Migration201911040900EnglishDFG.cs" /> + <Compile Include="Migrations\Migration201912060900BucketApplication.cs" /> + <Compile Include="Migrations\Migration201912091553ShibbolethAddition.cs" /> <Compile Include="Migrator.cs" /> <Compile Include="Program.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> -- GitLab