我遇到迁移问题。一些关于多租户的网站迁移好,有些则没有。所以,现在我必须得到一个类型的一列。存在以任何方式获取有关数据库数据类型的信息?像这样:
public int UpdateFrom4()
{
var dType = SchemaBuilder.ExecuteSql(@"select data_type from information_schema.columns where TABLE_NAME = 'MyModule_Orchard_SettingsRecord' and COLUMN_NAME = 'SomeColumn'").Interpreter;
if(dType != "ntext"){
...do some alternate of db
或者如何获得nHibernate的会话?还是直接访问DB?但我不知道DB(multitennancy)的路径。
非常感谢。
答案 0 :(得分:0)
您不能使用ExecuteSQL()
方法(或者我相信任何迁移命令)将结果返回给代码,因此如果您需要SQL命令的反馈,那就没有用了。
关于数据库 的位置,嗯,这取决于你放置它的位置!如果您使用多租户,则可以转到landlord | Admin | Tenants
并查看您设置的租户的详细信息。连接方法/字符串将在那里列出。如果模式是SQL Server CE,则数据库将位于App_Data/Sites/{nameoftenant}
文件夹中,但您需要一个工具来打开它。如果使用Visual Studio,最简单的是SQL Server Compact/SQLite Toolbox。使用任何其他连接字符串,SQL Server Management Studio是可行的方法。从那里,它只是正常使用SQL