我正在尝试更改Orchard.Setup模块,以便我可以使用MySQL作为数据安装Orchard CMS 1.3.10。
我来得太久了,我在设置GUI中使用MySQL,当我按下设置按钮时,我从果园收到此错误消息:
The value 'MySql' is not valid for DatabaseOptions.
但我无法找到我如何将MySql添加为DatabaseOptions,是否还有其他人让它与MySQL一起工作?
MySQL的旧模块与Orchard CMS的最新版本不兼容,这就是为什么它由我自己制作它,如果我让它工作我将发布它供其他人使用的开源。
答案 0 :(得分:4)
您正在讨论的错误是因为DatabaseOptions属性是布尔值。您需要更改该属性以接受字符串值。设置控制器中有一些地方需要更改该属性的使用方式......
但是,最重要的部分是实现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包使用。