Merge pull request #5733 from sbwalker/dev
add AspNetUserPasskeys migration
This commit is contained in:
@ -0,0 +1,39 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Migrations.Operations;
|
||||
using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders;
|
||||
using Oqtane.Databases.Interfaces;
|
||||
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
// ReSharper disable UnusedAutoPropertyAccessor.Global
|
||||
|
||||
namespace Oqtane.Migrations.EntityBuilders
|
||||
{
|
||||
public class AspNetUserPasskeysEntityBuilder : BaseEntityBuilder<AspNetUserPasskeysEntityBuilder>
|
||||
{
|
||||
private const string _entityTableName = "AspNetUserPasskeys";
|
||||
private readonly PrimaryKey<AspNetUserPasskeysEntityBuilder> _primaryKey = new("PK_AspNetUserPasskeys", x => x.CredentialId);
|
||||
private readonly ForeignKey<AspNetUserPasskeysEntityBuilder> _aspNetUsersForeignKey = new("FK_AspNetUserPasskeys_AspNetUsers_UserId", x => x.UserId, "AspNetUsers", "Id", ReferentialAction.Cascade);
|
||||
|
||||
public AspNetUserPasskeysEntityBuilder(MigrationBuilder migrationBuilder, IDatabase database) : base(migrationBuilder, database)
|
||||
{
|
||||
EntityTableName = _entityTableName;
|
||||
PrimaryKey = _primaryKey;
|
||||
ForeignKeys.Add(_aspNetUsersForeignKey);
|
||||
}
|
||||
|
||||
protected override AspNetUserPasskeysEntityBuilder BuildTable(ColumnsBuilder table)
|
||||
{
|
||||
CredentialId = AddBinaryColumn(table, "CredentialId", 1024);
|
||||
UserId = AddStringColumn(table, "UserId", 450);
|
||||
Data = AddMaxStringColumn(table, "Data");
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public OperationBuilder<AddColumnOperation> CredentialId { get; set; }
|
||||
|
||||
public OperationBuilder<AddColumnOperation> UserId { get; set; }
|
||||
|
||||
public OperationBuilder<AddColumnOperation> Data { get; set; }
|
||||
}
|
||||
}
|
||||
@ -299,6 +299,27 @@ namespace Oqtane.Migrations.EntityBuilders
|
||||
return table.Column<Guid>(name: RewriteName(name), nullable: nullable, defaultValue: defaultValue);
|
||||
}
|
||||
|
||||
// binary
|
||||
public void AddBinaryColumn(string name, int length, bool nullable = false, bool unicode = true)
|
||||
{
|
||||
_migrationBuilder.AddColumn<byte[]>(RewriteName(name), RewriteName(EntityTableName), maxLength: length, nullable: nullable, unicode: unicode, schema: Schema);
|
||||
}
|
||||
|
||||
public void AddBinaryColumn(string name, int length, bool nullable, bool unicode, string defaultValue)
|
||||
{
|
||||
_migrationBuilder.AddColumn<byte[]>(RewriteName(name), RewriteName(EntityTableName), maxLength: length, nullable: nullable, unicode: unicode, defaultValue: defaultValue, schema: Schema);
|
||||
}
|
||||
|
||||
protected OperationBuilder<AddColumnOperation> AddBinaryColumn(ColumnsBuilder table, string name, int length, bool nullable = false, bool unicode = true)
|
||||
{
|
||||
return table.Column<byte[]>(name: RewriteName(name), maxLength: length, nullable: nullable, unicode: unicode);
|
||||
}
|
||||
|
||||
protected OperationBuilder<AddColumnOperation> AddBinaryColumn(ColumnsBuilder table, string name, int length, bool nullable, bool unicode, string defaultValue)
|
||||
{
|
||||
return table.Column<byte[]>(name: RewriteName(name), maxLength: length, nullable: nullable, unicode: unicode, defaultValue: defaultValue);
|
||||
}
|
||||
|
||||
// alter string
|
||||
public void AlterStringColumn(string name, int length, bool nullable = false, bool unicode = true, string index = "")
|
||||
{
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Oqtane.Databases.Interfaces;
|
||||
using Oqtane.Migrations.EntityBuilders;
|
||||
using Oqtane.Repository;
|
||||
|
||||
namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
[DbContext(typeof(TenantDBContext))]
|
||||
[Migration("Tenant.10.00.00.01")]
|
||||
public class AddAspNetUserPasskeys : MultiDatabaseMigration
|
||||
{
|
||||
public AddAspNetUserPasskeys(IDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
var aspNetUserPasskeysEntityBuilder = new AspNetUserPasskeysEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
aspNetUserPasskeysEntityBuilder.Create();
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
// not implemented
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user