我在我的项目中使用EF CodeFirst
。对于本地数据库迁移,我使用Package Manage Console命令添加迁移和扩展。更新数据库。
对于部署,我创建了一个控制台应用程序。
class Program
{
static void Main(string[] args)
{
var configuration = new Configuration();
string version = null;
bool clear = false;
if (args != null)
{
foreach (string arg in args)
{
var keyValue = arg.Split('=');
switch (keyValue[0].ToLower())
{
case "version":
version = keyValue[1];
break;
}
}
}
var migrator = new DbMigrator(configuration);
if (clear)
{
ClearDatabase();
}
try
{
migrator.Update(version);
Console.WriteLine("Migration complete!");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
}
Thread.Sleep(1000);
Console.ReadLine();
}
private static void ClearDatabase()
{
}
}
此项目包含Migrations文件夹&它有一组迁移。
当我通过Package Console运行命令时,数据库会正确迁移/更新
当我运行这个exe时,在临时机上的问题 - 。 它会引发以下错误。
数据库中已存在“客户”表。
现在已经超过一天了。现在,我已经摸不着头脑了。
我该如何解决这个问题? 感谢。