2012-01-02 16 views
6

Estoy intentando cambiar el módulo Orchard.Setup para que pueda instalar Orchard CMS 1.3.10 con MySQL como datase.¿Cómo usar la base de datos MySQL con Orchard CMS 1.3.10?

que vienen tanto tiempo que conseguir MySQL en la interfaz gráfica de usuario para la configuración y cuando se presiona el botón de configuración i conseguir este mensaje de error de la huerta:

The value 'MySql' is not valid for DatabaseOptions. 

pero no puedo encontrar la forma en que la adición de MySQL como DatabaseOptions, ¿Alguien más lo consigue para trabajar con MySQL?

El antiguo módulo para MySQL no es compatible con la última versión de Orchard CMS por eso suena para hacerlo por mi cuenta, si lo hago funcionar lo lanzaré en código abierto para que otros lo usen.

Respuesta

4

El error del que está hablando es porque la propiedad DatabaseOptions es un booleano. Deberá cambiar esa propiedad para aceptar valores de cadena. Hay algunos lugares en el controlador de configuración que necesitará cambiar cómo se usa esa propiedad ...

Sin embargo, la parte más importante es implementar un proveedor de servicios de datos. Agregué el mío al núcleo, pero creo que podrías ponerlo en el Módulo de configuración como una característica. El mío se parece a esto ...

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

Ah, y no se olvide que necesitará para hacer referencia MySql.Data. Está disponible como un paquete NuGet.

+0

Gracias pero me perdí para informar aquí que conseguí esa parte para trabajar, pero ahora tengo otro problema, eche un vistazo a la url si sabes algo: http://orchard.codeplex.com/discussions/284811 – RickardP

Cuestiones relacionadas