2012-01-02 55 views
6

我想改變Orchard.Setup模塊,所以我可以安裝Orchard CMS 1.3.10與MySQL作爲數據。如何在Orchard CMS 1.3.10上使用MySQL數據庫?

我走了這麼久,我得到的MySQL GUI中進行設置,當我按下設置按鈕,我從果園收到此錯誤信息:

The value 'MySql' is not valid for DatabaseOptions. 

但我無法找到我如何加入MySQL作爲DatabaseOptions,是否有人讓它與MySQL一起工作?

MySQL的舊模塊與最新版本的Orchard CMS不兼容,這就是爲什麼它響起來我自己做,如果我得到它的工作,我會釋放它的開放源碼供他人使用。

回答

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包提供的。

+0

謝謝,但我錯過了在這裏告訴我,我得到了那部分工作,但現在我有另一個問題,看看網址,如果你知道什麼:http://orchard.codeplex.com/discussions/284811 – RickardP 2012-01-03 12:20:35