我正在尝试更改 Orchard.Setup 模块,以便我可以使用 MySQL 作为数据集安装 Orchard CMS 1.3.10。
我来得太久了,以至于我在 GUI 中获取 MySQL 进行设置,当我按下设置按钮时,我从 orchard 收到了这条错误消息:
The value 'MySql' is not valid for DatabaseOptions.
但是我找不到如何将 MySql 添加为 DatabaseOptions,还有其他人让它与 MySQL 一起工作吗?
MySQL 的旧模块与最新版本的 Orchard CMS 不兼容,这就是为什么我要自己制作它,如果我让它工作,我将发布它的开源供其他人使用。
最佳答案
您所说的错误是因为 DatabaseOptions 属性是一个 bool 值。您需要更改该属性以接受字符串值。 Setup Controller 中有几个地方需要更改该属性的使用方式...
但是,最重要的部分是实现 DataServicesProvider。我将我的添加到核心中,但我认为您可以将它作为一项功能放入设置模块中。我的看起来像这样......
namespace Orchard.Data.Providers {
public class MySqlDataServiceProvider : AbstractDataServicesProvider
{
private readonly string _connectionString;
public MySqlDataServiceProvider(string dataFolder, string connectionString)
{
_connectionString = connectionString;
}
public static string ProviderName
{
get { return "MySql"; }
}
public override IPersistenceConfigurer GetPersistenceConfigurer(bool createDatabase)
{
var persistence = MySQLConfiguration.Standard;
if (string.IsNullOrEmpty(_connectionString))
{
throw new ArgumentException("The connection string is empty");
}
persistence = persistence.ConnectionString(_connectionString);
return persistence;
}
}
}
哦,别忘了您需要引用 MySql.Data。它以 NuGet 包的形式提供。
关于mysql - 如何在 Orchard CMS 1.3.10 中使用 MySQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701008/