Browse Source

PM-23030 adding migration script (#6009)

* PM-23030 adding migration script

* PM-23030 fixing store procedure sql file

* PM-23030 fixing syntax error

* PM-23030 fixing migration

* PM-23030 fixing sql script

* PM-23030 fixing migration order

* PM_23030 fixing migrations

* PM-23030 fixing migration script validation error

* PM-23030 fixing migration

* PM-23030 trying to fix validation error

* PM-23030 fixing migration script

* PM-23030 updating sql scripts to change data type

* PM-23030 adding report key to organization application

* PM-23030 adding report key migration scripts

* PM-23030 adding migration scripts

* PM-23030 changing key column name
pull/6023/head
Graham Walker 6 months ago committed by GitHub
parent
commit
b7df8525af
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 1
      src/Core/Dirt/Entities/OrganizationApplication.cs
  2. 2
      src/Core/Dirt/Entities/OrganizationReport.cs
  3. 13
      src/Sql/dbo/Dirt/Stored Procedures/OrganizationApplication_Create.sql
  4. 13
      src/Sql/dbo/Dirt/Stored Procedures/OrganizationReport_Create.sql
  5. 3
      src/Sql/dbo/Dirt/Tables/OrganizationApplication.sql
  6. 3
      src/Sql/dbo/Dirt/Tables/OrganizationReport.sql
  7. 44
      util/Migrator/DbScripts/2025-06-26_00_AlterOrganizationReport.sql
  8. 44
      util/Migrator/DbScripts/2025-07-01_00_AlterOrganizationApplication.sql
  9. 3263
      util/MySqlMigrations/Migrations/20250702155123_2025-06-26_00_AlterOrganizationReport.sql.Designer.cs
  10. 39
      util/MySqlMigrations/Migrations/20250702155123_2025-06-26_00_AlterOrganizationReport.sql.cs
  11. 3263
      util/MySqlMigrations/Migrations/20250702155151_2025-07-01_00_AlterOrganizationApplication.sql.Designer.cs
  12. 21
      util/MySqlMigrations/Migrations/20250702155151_2025-07-01_00_AlterOrganizationApplication.sql.cs
  13. 8
      util/MySqlMigrations/Migrations/DatabaseContextModelSnapshot.cs
  14. 3269
      util/PostgresMigrations/Migrations/20250702155127_2025-06-26_00_AlterOrganizationReport.sql.Designer.cs
  15. 39
      util/PostgresMigrations/Migrations/20250702155127_2025-06-26_00_AlterOrganizationReport.sql.cs
  16. 3269
      util/PostgresMigrations/Migrations/20250702155155_2025-07-01_00_AlterOrganizationApplication.sql.Designer.cs
  17. 21
      util/PostgresMigrations/Migrations/20250702155155_2025-07-01_00_AlterOrganizationApplication.sql.cs
  18. 8
      util/PostgresMigrations/Migrations/DatabaseContextModelSnapshot.cs
  19. 3252
      util/SqliteMigrations/Migrations/20250702155118_2025-06-26_00_AlterOrganizationReport.sql.Designer.cs
  20. 39
      util/SqliteMigrations/Migrations/20250702155118_2025-06-26_00_AlterOrganizationReport.sql.cs
  21. 3252
      util/SqliteMigrations/Migrations/20250702155159_2025-07-01_00_AlterOrganizationApplication.sql.Designer.cs
  22. 21
      util/SqliteMigrations/Migrations/20250702155159_2025-07-01_00_AlterOrganizationApplication.sql.cs
  23. 8
      util/SqliteMigrations/Migrations/DatabaseContextModelSnapshot.cs

1
src/Core/Dirt/Entities/OrganizationApplication.cs

@ -12,6 +12,7 @@ public class OrganizationApplication : ITableObject<Guid>, IRevisable @@ -12,6 +12,7 @@ public class OrganizationApplication : ITableObject<Guid>, IRevisable
public string Applications { get; set; } = string.Empty;
public DateTime CreationDate { get; set; } = DateTime.UtcNow;
public DateTime RevisionDate { get; set; } = DateTime.UtcNow;
public string ContentEncryptionKey { get; set; } = string.Empty;
public void SetNewId()
{

2
src/Core/Dirt/Entities/OrganizationReport.cs

@ -13,6 +13,8 @@ public class OrganizationReport : ITableObject<Guid> @@ -13,6 +13,8 @@ public class OrganizationReport : ITableObject<Guid>
public string ReportData { get; set; } = string.Empty;
public DateTime CreationDate { get; set; } = DateTime.UtcNow;
public string ContentEncryptionKey { get; set; } = string.Empty;
public void SetNewId()
{
Id = CoreHelpers.GenerateComb();

13
src/Sql/dbo/Dirt/Stored Procedures/OrganizationApplication_Create.sql

@ -3,7 +3,8 @@ CREATE PROCEDURE [dbo].[OrganizationApplication_Create] @@ -3,7 +3,8 @@ CREATE PROCEDURE [dbo].[OrganizationApplication_Create]
@OrganizationId UNIQUEIDENTIFIER,
@Applications NVARCHAR(MAX),
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7)
@RevisionDate DATETIME2(7),
@ContentEncryptionKey VARCHAR(MAX)
AS
SET NOCOUNT ON;
@ -13,13 +14,15 @@ AS @@ -13,13 +14,15 @@ AS
[OrganizationId],
[Applications],
[CreationDate],
[RevisionDate]
[RevisionDate],
[ContentEncryptionKey]
)
VALUES
(
(
@Id,
@OrganizationId,
@Applications,
@CreationDate,
@RevisionDate
);
@RevisionDate,
@ContentEncryptionKey
);

13
src/Sql/dbo/Dirt/Stored Procedures/OrganizationReport_Create.sql

@ -3,21 +3,24 @@ CREATE PROCEDURE [dbo].[OrganizationReport_Create] @@ -3,21 +3,24 @@ CREATE PROCEDURE [dbo].[OrganizationReport_Create]
@OrganizationId UNIQUEIDENTIFIER,
@Date DATETIME2(7),
@ReportData NVARCHAR(MAX),
@CreationDate DATETIME2(7)
@CreationDate DATETIME2(7),
@ContentEncryptionKey VARCHAR(MAX)
AS
SET NOCOUNT ON;
INSERT INTO [dbo].[OrganizationReport](
INSERT INTO [dbo].[OrganizationReport](
[Id],
[OrganizationId],
[Date],
[ReportData],
[CreationDate]
[CreationDate],
[ContentEncryptionKey]
)
VALUES (
VALUES (
@Id,
@OrganizationId,
@Date,
@ReportData,
@CreationDate
@CreationDate,
@ContentEncryptionKey
);

3
src/Sql/dbo/Dirt/Tables/OrganizationApplication.sql

@ -4,9 +4,10 @@ CREATE TABLE [dbo].[OrganizationApplication] ( @@ -4,9 +4,10 @@ CREATE TABLE [dbo].[OrganizationApplication] (
[Applications] NVARCHAR(MAX) NOT NULL,
[CreationDate] DATETIME2 (7) NOT NULL,
[RevisionDate] DATETIME2 (7) NOT NULL,
[ContentEncryptionKey] VARCHAR(MAX) NOT NULL,
CONSTRAINT [PK_OrganizationApplication] PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_OrganizationApplication_Organization] FOREIGN KEY ([OrganizationId]) REFERENCES [dbo].[Organization] ([Id])
);
);
GO
CREATE NONCLUSTERED INDEX [IX_OrganizationApplication_OrganizationId]

3
src/Sql/dbo/Dirt/Tables/OrganizationReport.sql

@ -4,9 +4,10 @@ CREATE TABLE [dbo].[OrganizationReport] ( @@ -4,9 +4,10 @@ CREATE TABLE [dbo].[OrganizationReport] (
[Date] DATETIME2 (7) NOT NULL,
[ReportData] NVARCHAR(MAX) NOT NULL,
[CreationDate] DATETIME2 (7) NOT NULL,
[ContentEncryptionKey] VARCHAR(MAX) NOT NULL,
CONSTRAINT [PK_OrganizationReport] PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_OrganizationReport_Organization] FOREIGN KEY ([OrganizationId]) REFERENCES [dbo].[Organization] ([Id])
);
);
GO
CREATE NONCLUSTERED INDEX [IX_OrganizationReport_OrganizationId]

44
util/Migrator/DbScripts/2025-06-26_00_AlterOrganizationReport.sql

@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
IF COL_LENGTH('[dbo].[OrganizationReport]', 'ContentEncryptionKey') IS NULL
BEGIN
ALTER TABLE [dbo].[OrganizationReport]
ADD [ContentEncryptionKey] VARCHAR(MAX) NOT NULL;
END
GO
CREATE OR ALTER VIEW [dbo].[OrganizationReportView]
AS
SELECT
*
FROM
[dbo].[OrganizationReport]
GO
CREATE OR ALTER PROCEDURE [dbo].[OrganizationReport_Create]
@Id UNIQUEIDENTIFIER OUTPUT,
@OrganizationId UNIQUEIDENTIFIER,
@Date DATETIME2(7),
@ReportData NVARCHAR(MAX),
@CreationDate DATETIME2(7),
@ContentEncryptionKey VARCHAR(MAX)
AS
SET NOCOUNT ON;
INSERT INTO [dbo].[OrganizationReport]
(
[Id],
[OrganizationId],
[Date],
[ReportData],
[CreationDate],
[ContentEncryptionKey]
)
VALUES
(
@Id,
@OrganizationId,
@Date,
@ReportData,
@CreationDate,
@ContentEncryptionKey
);
GO

44
util/Migrator/DbScripts/2025-07-01_00_AlterOrganizationApplication.sql

@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
IF COL_LENGTH('[dbo].[OrganizationApplication]', 'ContentEncryptionKey') IS NULL
BEGIN
ALTER TABLE [dbo].[OrganizationApplication]
ADD [ContentEncryptionKey] VARCHAR(MAX) NOT NULL;
END
GO
CREATE OR ALTER VIEW [dbo].[OrganizationApplicationView]
AS
SELECT
*
FROM
[dbo].[OrganizationApplication]
GO
CREATE OR ALTER PROCEDURE [dbo].[OrganizationApplication_Create]
@Id UNIQUEIDENTIFIER OUTPUT,
@OrganizationId UNIQUEIDENTIFIER,
@Applications NVARCHAR(MAX),
@CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7),
@ContentEncryptionKey VARCHAR(MAX)
AS
SET NOCOUNT ON;
INSERT INTO [dbo].[OrganizationApplication]
(
[Id],
[OrganizationId],
[Applications],
[CreationDate],
[RevisionDate],
[ContentEncryptionKey]
)
VALUES
(
@Id,
@OrganizationId,
@Applications,
@CreationDate,
@RevisionDate,
@ContentEncryptionKey
);
GO

3263
util/MySqlMigrations/Migrations/20250702155123_2025-06-26_00_AlterOrganizationReport.sql.Designer.cs generated

File diff suppressed because it is too large Load Diff

39
util/MySqlMigrations/Migrations/20250702155123_2025-06-26_00_AlterOrganizationReport.sql.cs

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Bit.MySqlMigrations.Migrations;
/// <inheritdoc />
public partial class _20250626_00_AlterOrganizationReportsql : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "ContentEncryptionKey",
table: "OrganizationReport",
type: "longtext",
nullable: false)
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<string>(
name: "ContentEncryptionKey",
table: "OrganizationApplication",
type: "longtext",
nullable: false)
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "ContentEncryptionKey",
table: "OrganizationReport");
migrationBuilder.DropColumn(
name: "ContentEncryptionKey",
table: "OrganizationApplication");
}
}

3263
util/MySqlMigrations/Migrations/20250702155151_2025-07-01_00_AlterOrganizationApplication.sql.Designer.cs generated

File diff suppressed because it is too large Load Diff

21
util/MySqlMigrations/Migrations/20250702155151_2025-07-01_00_AlterOrganizationApplication.sql.cs

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Bit.MySqlMigrations.Migrations;
/// <inheritdoc />
public partial class _20250701_00_AlterOrganizationApplicationsql : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}

8
util/MySqlMigrations/Migrations/DatabaseContextModelSnapshot.cs

@ -979,6 +979,10 @@ namespace Bit.MySqlMigrations.Migrations @@ -979,6 +979,10 @@ namespace Bit.MySqlMigrations.Migrations
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("ContentEncryptionKey")
.IsRequired()
.HasColumnType("longtext");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime(6)");
@ -1004,6 +1008,10 @@ namespace Bit.MySqlMigrations.Migrations @@ -1004,6 +1008,10 @@ namespace Bit.MySqlMigrations.Migrations
b.Property<Guid>("Id")
.HasColumnType("char(36)");
b.Property<string>("ContentEncryptionKey")
.IsRequired()
.HasColumnType("longtext");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime(6)");

3269
util/PostgresMigrations/Migrations/20250702155127_2025-06-26_00_AlterOrganizationReport.sql.Designer.cs generated

File diff suppressed because it is too large Load Diff

39
util/PostgresMigrations/Migrations/20250702155127_2025-06-26_00_AlterOrganizationReport.sql.cs

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Bit.PostgresMigrations.Migrations;
/// <inheritdoc />
public partial class _20250626_00_AlterOrganizationReportsql : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "ContentEncryptionKey",
table: "OrganizationReport",
type: "text",
nullable: false,
defaultValue: "");
migrationBuilder.AddColumn<string>(
name: "ContentEncryptionKey",
table: "OrganizationApplication",
type: "text",
nullable: false,
defaultValue: "");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "ContentEncryptionKey",
table: "OrganizationReport");
migrationBuilder.DropColumn(
name: "ContentEncryptionKey",
table: "OrganizationApplication");
}
}

3269
util/PostgresMigrations/Migrations/20250702155155_2025-07-01_00_AlterOrganizationApplication.sql.Designer.cs generated

File diff suppressed because it is too large Load Diff

21
util/PostgresMigrations/Migrations/20250702155155_2025-07-01_00_AlterOrganizationApplication.sql.cs

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Bit.PostgresMigrations.Migrations;
/// <inheritdoc />
public partial class _20250701_00_AlterOrganizationApplicationsql : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}

8
util/PostgresMigrations/Migrations/DatabaseContextModelSnapshot.cs

@ -984,6 +984,10 @@ namespace Bit.PostgresMigrations.Migrations @@ -984,6 +984,10 @@ namespace Bit.PostgresMigrations.Migrations
.IsRequired()
.HasColumnType("text");
b.Property<string>("ContentEncryptionKey")
.IsRequired()
.HasColumnType("text");
b.Property<DateTime>("CreationDate")
.HasColumnType("timestamp with time zone");
@ -1009,6 +1013,10 @@ namespace Bit.PostgresMigrations.Migrations @@ -1009,6 +1013,10 @@ namespace Bit.PostgresMigrations.Migrations
b.Property<Guid>("Id")
.HasColumnType("uuid");
b.Property<string>("ContentEncryptionKey")
.IsRequired()
.HasColumnType("text");
b.Property<DateTime>("CreationDate")
.HasColumnType("timestamp with time zone");

3252
util/SqliteMigrations/Migrations/20250702155118_2025-06-26_00_AlterOrganizationReport.sql.Designer.cs generated

File diff suppressed because it is too large Load Diff

39
util/SqliteMigrations/Migrations/20250702155118_2025-06-26_00_AlterOrganizationReport.sql.cs

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Bit.SqliteMigrations.Migrations;
/// <inheritdoc />
public partial class _20250626_00_AlterOrganizationReportsql : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "ContentEncryptionKey",
table: "OrganizationReport",
type: "TEXT",
nullable: false,
defaultValue: "");
migrationBuilder.AddColumn<string>(
name: "ContentEncryptionKey",
table: "OrganizationApplication",
type: "TEXT",
nullable: false,
defaultValue: "");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "ContentEncryptionKey",
table: "OrganizationReport");
migrationBuilder.DropColumn(
name: "ContentEncryptionKey",
table: "OrganizationApplication");
}
}

3252
util/SqliteMigrations/Migrations/20250702155159_2025-07-01_00_AlterOrganizationApplication.sql.Designer.cs generated

File diff suppressed because it is too large Load Diff

21
util/SqliteMigrations/Migrations/20250702155159_2025-07-01_00_AlterOrganizationApplication.sql.cs

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Bit.SqliteMigrations.Migrations;
/// <inheritdoc />
public partial class _20250701_00_AlterOrganizationApplicationsql : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}

8
util/SqliteMigrations/Migrations/DatabaseContextModelSnapshot.cs

@ -968,6 +968,10 @@ namespace Bit.SqliteMigrations.Migrations @@ -968,6 +968,10 @@ namespace Bit.SqliteMigrations.Migrations
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("ContentEncryptionKey")
.IsRequired()
.HasColumnType("TEXT");
b.Property<DateTime>("CreationDate")
.HasColumnType("TEXT");
@ -993,6 +997,10 @@ namespace Bit.SqliteMigrations.Migrations @@ -993,6 +997,10 @@ namespace Bit.SqliteMigrations.Migrations
b.Property<Guid>("Id")
.HasColumnType("TEXT");
b.Property<string>("ContentEncryptionKey")
.IsRequired()
.HasColumnType("TEXT");
b.Property<DateTime>("CreationDate")
.HasColumnType("TEXT");

Loading…
Cancel
Save