mirror of
https://github.com/MAKS-IT-COM/maksit-certs-ui.git
synced 2026-05-16 04:48:12 +02:00
41 lines
1.5 KiB
C#
41 lines
1.5 KiB
C#
using FluentMigrator;
|
|
|
|
namespace MaksIT.CertsUI.Engine.FluentMigrations;
|
|
|
|
[Migration(Version)]
|
|
public class BaselineCertsSchema : Migration {
|
|
public const long Version = 20260415100000L;
|
|
public override void Up() {
|
|
Create.Table("registration_caches")
|
|
.WithColumn("AccountId").AsGuid().NotNullable().PrimaryKey()
|
|
.WithColumn("PayloadJson").AsCustom("text").NotNullable();
|
|
|
|
Create.Table("api_keys")
|
|
.WithColumn("Id").AsGuid().NotNullable().PrimaryKey()
|
|
.WithColumn("Description").AsCustom("text").Nullable()
|
|
.WithColumn("KeyHashHex").AsCustom("text").NotNullable()
|
|
.WithColumn("CreatedAtUtc").AsDateTimeOffset().NotNullable()
|
|
.WithColumn("RevokedAtUtc").AsDateTimeOffset().Nullable()
|
|
.WithColumn("ExpiresAtUtc").AsDateTimeOffset().Nullable();
|
|
|
|
Create.Index("IX_api_keys_KeyHashHex").OnTable("api_keys").OnColumn("KeyHashHex");
|
|
|
|
Create.Table("users")
|
|
.WithColumn("Id").AsGuid().NotNullable().PrimaryKey()
|
|
.WithColumn("Name").AsCustom("text").NotNullable()
|
|
.WithColumn("Salt").AsCustom("text").NotNullable()
|
|
.WithColumn("Hash").AsCustom("text").NotNullable()
|
|
.WithColumn("LastLoginUtc").AsDateTimeOffset().NotNullable();
|
|
|
|
Create.Index("IX_users_Name").OnTable("users").OnColumn("Name").Unique();
|
|
}
|
|
|
|
public override void Down() {
|
|
Delete.Index("IX_users_Name").OnTable("users");
|
|
Delete.Table("users");
|
|
Delete.Index("IX_api_keys_KeyHashHex").OnTable("api_keys");
|
|
Delete.Table("api_keys");
|
|
Delete.Table("registration_caches");
|
|
}
|
|
}
|