如何从psake构建运行代码优先迁移?

时间:2012-09-02 18:32:30

标签: entity-framework powershell ef-migrations psake

我可以从Package Manager Console输入Update-DatabaseEnable-Migrations等,它可以正常工作。

如果我需要在常规PowerShell会话或psake构建文件中执行相同的操作,那么我该如何操作呢?

我尝试从packages目录导入模块EntityFramework.5.0.0\tools\EntityFramework.psm1,我确实得到了Update-DatabaseEnable-Migrations函数,但我无法提供他们的参数 - 他们需要一个项目,源代码,还有6个 - 而且没有任何文件。我是否可以在CI链中的某台机器上自动部署数据库?

2 个答案:

答案 0 :(得分:6)

将模块导入PowerShell控制台的问题在于我相信该模块希望在具有Visual Studio DTE对象的上下文中运行。该环境是NuGet包管理器控制台。此问题之前已经提出过。查看此blog post和此SO question

blog post shows how to write code that does migrations

答案 1 :(得分:0)

使用EntityFramework NuGet包中的migrate.exe

https://stackoverflow.com/a/14139229/991267