【发布时间】:2018-05-17 02:21:04
【问题描述】:
我安装了 FluentMigration 来管理我的 SQL 文件。
在包管理中我执行以下命令:
PM> dotnet add package FluentMigrator
PM> dotnet add package FluentMigrator.Runner
迁移
[Migration(201805041513)]
public class _201805041513_CriacaoTabelaPessoa : ForwardOnlyMigration
{
public override void Up()
{
Create.Table("Pessoa")
.InSchema("angularCore")
.WithColumn("Id").AsInt32().Identity()
.WithColumn("Nome").AsString(80)
.WithColumn("SobreNome").AsString(50)
.WithColumn("Email").AsString(50)
.WithColumn("IdTpoPessoa").AsInt16()
.WithColumn("IdEndereco").AsInt16();
}
}
进程外(针对某些公司要求)
PM> dotnet tool install -g FluentMigrator.DotNet.Cli
错误:
找不到与“dotnet-tool”命令对应的可执行文件
Documentation
编辑
跑进
PM> dotnet tool install -g FluentMigrator.DotNet.Cli
PM> dotnet fm migrate -p sqlite -c "Data Source=test.db" -a ".\bin\Debug\netcoreapp2.1\test.dll"
生成teste.db
在旧版本中,您直接在数据库中运行迁移,我 不明白如何更新我的数据库,即创建人员 表通过生成的test.db文件?
【问题讨论】:
-
根据文档,您至少需要为此工具使用 .NET Core 2.1 preview 2 SDK。您使用的是 .NET Core 2.1 预览版 2 吗?我相信您可以通过运行 dotnet --version 进行检查。如果使用 2018 年 4 月 11 日发布的预览版 2,您应该返回 2.1.300-p2
-
@Matt 在包管理中运行:PM> dotnet --version 结果:2.1.103
-
您需要安装最新的预览版。 dotnet 工具命令是 2.1-preview 2 microsoft.com/net/download/dotnet-core/sdk-2.1.300-preview2 的新增功能
-
@Matt 我能够执行迁移,它不应该在我的数据库中运行吗?
-
如果您在进程中运行迁移并且没有收到任何错误,则该表应该在那里。如果不存在,则可能无法正确配置服务。请编辑您的帖子以显示您如何配置服务。如果您通过命令行运行 Out Of Process,请同时发布您使用的命令行。我之前的 cmets 是关于 dotnet 工具错误的。
标签: c# visual-studio-2017 fluent-migrator