我使用 EF Core 2.1 Code-First。
SELECT * FROM [dbo].[__MigrationsHistory]
从 2 列返回表
- 迁移编号
- 产品版本
我正在寻找一种方法来添加一个列AppliedOn
,它将存储迁移真正应用于数据库的时间。
最佳答案
你可以在 SQL 中做到这一点:
alter table [dbo].[__MigrationHistory] add AppliedOn Datetime default getdate()
当 EF 向数据库应用迁移时,它会在表 __MigrationHistory
中插入一行。此 SQL 脚本添加列 AppliedOn
,默认值为 getDate()
。当插入一行时,该列将包含该插入的当前日期时间。
或者,您可以使用 EF 迁移执行相同的操作:
通过添加到第一次迁移(或新迁移):
public partial class Intial : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "AppliedOnUtc",
schema: "Conversations",
table: "__MigrationsHistory",
defaultValueSql: "GETUTCDATE()"
);
}
....
}
关于c# - 英孚核心 2.1。将自定义列添加到 MigrationHistory 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50626966/