2012-01-02 8 views
6

Orchard.Setupモジュールを変更しようとしているので、Orchard CMS 1.3.10をMySQLと一緒にdataseとしてインストールできます。Orchard CMS 1.3.10でMySQLデータベースを使用するには?

私は、セットアップのためのGUIでMySQLを取得し、私は、セットアップボタンを押したときに、私は果樹園から、このエラーメッセージを取得することを限り来る:、

The value 'MySql' is not valid for DatabaseOptions. 

しかし、私はDatabaseOptionsとしてMySQLを追加する方法を見つけることができません他の誰かが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

ありがとうございますが、私はここで仕事に就いていますが、別の問題があります。あなたが何かを知っていれば、URLを見てください:http://orchard.codeplex.com/discussions/284811 – RickardP

関連する問題