2013-05-27 86 views
0

我实施了数据库迁移并卡住了。我用这个代码来检查SchemaUpdate工具的脚本:NHibernate SchemaUpdate重新创建数据库,但没有更新

List<string> scripts = new List<string>(1000); 
_cfg.BuildMappings(); 

SchemaUpdate schemaUpdate = new SchemaUpdate(_cfg); 
schemaUpdate.Execute(str => 
{ 
    scripts.Add(str); 
}, true); 

我的数据库包含多个表。我添加了新的测试表。我预计该脚本将只包含一个表创建项目。但我很惊讶,他创造了所有的桌子。

如何解决这个问题?

更新

SchemaUpdate工具会因不同的测试表中的所有项目例外。

There is already an object named XXX 
+0

你使用哪个数据库驱动?连接字符串是否正确? – Firo

+0

@Firo驱动程序= NHibernate.Driver.SqlClientDriver和连接字符串是好的。 connection string = Server =(local); Database = MyDataBase; user = admin; password = pass; – Max

+0

可能DUP的http://stackoverflow.com/a/6799401/1036187 – rivarolle

回答

0

找到解决方案。这是我的错误。我将所有表命名为[Table]。 NHibernate比较[Table]和Table。这就是它试图创造它们的原因。感谢Firo的建议)