2013-05-27 114 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的建議)