2012-01-02 12 views
6

Sto provando a cambiare il modulo Orchard.Setup in modo da poter installare Orchard CMS 1.3.10 con MySQL come datase.Come utilizzare il database MySQL con Orchard CMS 1.3.10?

io vengo così a lungo che ho sempre MySQL nella GUI per la configurazione e quando si preme il pulsante di installazione ricevo questo messaggio di errore da frutteto:

The value 'MySql' is not valid for DatabaseOptions. 

ma non riesco a trovare il modo ho l'aggiunta di MySql come DatabaseOptions, Qualcun altro lo fa funzionare con MySQL?

Il vecchio modulo per MySQL non è compatibile con l'ultima versione di Orchard CMS, ecco perché suona per farlo da solo, se lo faccio funzionare lo rilascerò open source per altri utenti.

risposta

4

L'errore di cui si sta parlando è dovuto al fatto che la proprietà DatabaseOptions è un valore booleano. Dovrai modificare quella proprietà per accettare i valori stringa. Ci sono pochi luoghi al controller di installazione che è necessario cambiare il modo che la proprietà è utilizzata ...

Tuttavia, la parte più importante è quello di implementare un DataServicesProvider. Ho aggiunto il mio al core, ma penso che potresti metterlo nel Setup Module come caratteristica. Il mio assomiglia a questo ...

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; 
     } 
    } 
} 

Oh, e non dimenticare è necessario fare riferimento MySql.Data. È disponibile come pacchetto NuGet.

+0

Grazie ma mi sono perso per informare che ho ottenuto che quella parte funzionasse ma ora ho un altro problema, date un'occhiata all'URL se sapete qualcosa: http://orchard.codeplex.com/discussions/284811 – RickardP

Problemi correlati