using FluentMigrator; namespace IncidentOps.Infrastructure.Migrations; [Migration(2)] public class Migration0002_RefreshTokens : Migration { public override void Up() { Create.Table("refresh_tokens") .WithColumn("id").AsGuid().PrimaryKey() .WithColumn("user_id").AsGuid().NotNullable().ForeignKey("users", "id").OnDelete(System.Data.Rule.Cascade) .WithColumn("token_hash").AsString(255).NotNullable().Unique() .WithColumn("active_org_id").AsGuid().NotNullable().ForeignKey("orgs", "id").OnDelete(System.Data.Rule.Cascade) .WithColumn("expires_at").AsDateTime().NotNullable() .WithColumn("revoked_at").AsDateTime().Nullable() .WithColumn("created_at").AsDateTime().NotNullable().WithDefault(SystemMethods.CurrentUTCDateTime); Create.Index("ix_refresh_tokens_user") .OnTable("refresh_tokens") .OnColumn("user_id").Ascending(); } public override void Down() { Delete.Table("refresh_tokens"); } }