C# 在Nhibernate中从无到有创建架构
我想自动创建模式,如果不存在的话。目前,我使用以下代码创建架构:C# 在Nhibernate中从无到有创建架构,c#,nhibernate,fluent-nhibernate,C#,Nhibernate,Fluent Nhibernate,我想自动创建模式,如果不存在的话。目前,我使用以下代码创建架构: new SchemaExport(_configuration) .SetDelimiter(";").SetOutputFile("schema.sql").Create(true, true); 但我有两个问题: 1) 它需要有一个空的模式才能工作。我希望它为自己创建一个空的模式和用户,如果我给它一次管理员凭据的话 2) 我希望它只在模式为空或过时时创建模式。能让nhibernate检查一下吗?当然,对
new SchemaExport(_configuration)
.SetDelimiter(";").SetOutputFile("schema.sql").Create(true, true);
但我有两个问题:
1) 它需要有一个空的模式才能工作。我希望它为自己创建一个空的模式和用户,如果我给它一次管理员凭据的话
2) 我希望它只在模式为空或过时时创建模式。能让nhibernate检查一下吗?当然,对于过时的模式,我需要一种方法来询问用户是否要重新生成模式和松散的数据
我使用的是MySQL5,但我希望这不需要绑定到具体的数据库提供者就可以实现
更新:用户只需安装MySql,并在安装时输入一些管理员凭据。之后,他可以运行我的应用程序,它应该通过向用户询问管理员凭据来创建自己的模式、用户和分配权限。我回答了一个相当复杂的问题
您必须自己检查数据库是否为空,并在必要时创建它。还有一个ValidateSchema方法来检查模式是否对应于实际的映射定义。其他一切都是您自己的代码
用户和权限也可以像在映射文件中一样安装