2012-01-02 9 views
6

मैं ऑर्चर्ड को बदलने की कोशिश कर रहा हूं। सेटअप मॉड्यूल ताकि मैं ऑर्चर्ड सीएमएस 1.3.10 को MySQL के साथ डेटास के रूप में स्थापित कर सकूं।ऑर्चर्ड सीएमएस 1.3.10 के साथ MySQL डेटाबेस का उपयोग कैसे करें?

मैं इतने लंबे समय है कि मैं सेटअप के लिए जीयूआई में MySQL हो रही हैं, और जब मैं सेटअप बटन मैं बगीचे से यह त्रुटि संदेश मिल प्रेस: ​​मैं नहीं मिल सकता है मैं कैसे DatabaseOptions के रूप में MySql जोड़ने

The value 'MySql' is not valid for DatabaseOptions. 

लेकिन, क्या किसी और को MySQL के साथ काम करने के लिए मिलता है?

MySQL के लिए पुराना मॉड्यूल ऑर्चर्ड सीएमएस के नवीनतम संस्करण के अनुकूल नहीं है, इसलिए यह मेरे द्वारा इसे बनाने के लिए क्यों रिंग करता है, अगर मैं इसे काम करने के लिए तैयार करता हूं तो मैं इसे दूसरों के उपयोग के लिए ओपन सोर्स जारी करने जा रहा हूं।

उत्तर

4

जिस त्रुटि के बारे में आप बात कर रहे हैं वह है क्योंकि डेटाबेसऑप्शन संपत्ति एक बूलियन है। स्ट्रिंग मानों को स्वीकार करने के लिए आपको उस संपत्ति को बदलने की आवश्यकता होगी। सेटअप कंट्रोलर में कुछ स्थान हैं जिन्हें आपको बदलने की आवश्यकता होगी कि उस संपत्ति का उपयोग कैसे किया जाता है ...

हालांकि, सबसे महत्वपूर्ण हिस्सा 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