1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-30 15:42:48 -05:00

Split LimitCollectionCreationDeletion into two database columns (#4709)

* Add new columns to `dbo.Organization` & its references

* Feed existing data into new `dbo.Organization` column

* Update Entity Framework database definitions

* Move new EF columns out of the core entity definition

* Generate Entity Framework migrations

* Feed existing data into new `Organization` Entity Framework columns

* Add a where clause to SQL migration
This commit is contained in:
Addison Beck
2024-10-03 13:43:54 -04:00
committed by GitHub
parent b196c8bfb9
commit 6a51e3b1a9
26 changed files with 17595 additions and 24 deletions

View File

@ -0,0 +1,57 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Bit.SqliteMigrations.Migrations;
/// <inheritdoc />
public partial class SplitOrganizationLimitCollectionCreationDeletionColumn : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<bool>(
name: "LimitCollectionCreationDeletion",
table: "Organization",
type: "INTEGER",
nullable: false,
oldClrType: typeof(bool),
oldType: "INTEGER",
oldDefaultValue: true);
migrationBuilder.AddColumn<bool>(
name: "LimitCollectionCreation",
table: "Organization",
type: "INTEGER",
nullable: false,
defaultValue: false);
migrationBuilder.AddColumn<bool>(
name: "LimitCollectionDeletion",
table: "Organization",
type: "INTEGER",
nullable: false,
defaultValue: false);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "LimitCollectionCreation",
table: "Organization");
migrationBuilder.DropColumn(
name: "LimitCollectionDeletion",
table: "Organization");
migrationBuilder.AlterColumn<bool>(
name: "LimitCollectionCreationDeletion",
table: "Organization",
type: "INTEGER",
nullable: false,
defaultValue: true,
oldClrType: typeof(bool),
oldType: "INTEGER");
}
}

View File

@ -0,0 +1,27 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Bit.SqliteMigrations.Migrations;
/// <inheritdoc />
public partial class SyncOrganizationLimitCollectionCreationDeletionColumn : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.Sql(
@"
UPDATE Organization
SET
LimitCollectionCreation = LimitCollectionCreationDeletion,
LimitCollectionDeletion = LimitCollectionCreationDeletion;
");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}

View File

@ -83,9 +83,14 @@ namespace Bit.SqliteMigrations.Migrations
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property<bool>("LimitCollectionCreation")
.HasColumnType("INTEGER");
b.Property<bool>("LimitCollectionCreationDeletion")
.HasColumnType("INTEGER")
.HasDefaultValue(true);
.HasColumnType("INTEGER");
b.Property<bool>("LimitCollectionDeletion")
.HasColumnType("INTEGER");
b.Property<int?>("MaxAutoscaleSeats")
.HasColumnType("INTEGER");