如何在Orchard CMS 1.3.10中使用MySQL数据库?

时间:2012-01-02 12:46:15

标签: mysql asp.net-mvc-3 orchardcms

我正在尝试更改Orchard.Setup模块,以便我可以使用MySQL作为数据安装Orchard CMS 1.3.10。

我来得太久了,我在设置GUI中使用MySQL,当我按下设置按钮时,我从果园收到此错误消息:

The value 'MySql' is not valid for DatabaseOptions.

但我无法找到我如何将MySql添加为DatabaseOptions,是否还有其他人让它与MySQL一起工作?

MySQL的旧模块与Orchard CMS的最新版本不兼容,这就是为什么它由我自己制作它,如果我让它工作我将发布它供其他人使用的开源。

1 个答案:

答案 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包使用。