2011-11-25 20 views
6

No soy un experimentado desarrollador de Rails, desarrollando una aplicación Rails v2.3 con MySQl v5.1.Crear un nuevo entorno en Rails

No estoy seguro de cómo lograr lo siguiente:

Necesito crear:

1. Un nuevo entorno (que es un nuevo entorno, además de desarrollo, producción y prueba entornos) llamado 'especial' entorno

2. Un nuevo entorno de base de datos para arriba creado ambiente especial, lo que he hecho es añadir lo siguiente en config/database.yml

special: 
    adapter: mysql2 
    host: localhost 
    username: 
    database: special_db 
    encoding: latin1 

3. Una tarea rastrillo para ejecutar en el entorno especial y el código en la tarea de rake solo trata con la base de datos especial.

Para lograr esto, sé que necesito para definir algunas configuraciones, pero no está seguro:

  1. qué/cómo exactamente se necesitan para configurar el entorno para crear la base de datos especial &?

    (Como se vio anteriormente, solamente he definido el especial base de datos en database.yml archivo, pero donde & cómo definir y configuración para el nuevo enverionment?)

  2. Cómo ejecutar el rastrillo código de tarea en el entorno especial y solo trata con la base de datos especial en Rails. ¿Podría alguien por favor

P.S.

Necesito ejecutar todo en una tarea de rake, no desde la línea de comandos. ¿Cómo cambiar el entorno y cómo verificar el cambio?

-------------- razón encontrado, pero no está seguro de la solución ---------------------

Bien, encontré que la razón de este problema con cable se debe a la gema mysql2 que parece no poder cargar el nuevo entorno "especial", si cambio al uso de la gema mysql, el problema desaparecerá. Pero este proyecto tiene que usar mysql2 por alguna otra razón. ¿Cómo deshacerse de este problema mysql2?

Respuesta

1

Pruebe lo siguiente:

Copiar la config/ambientes/development.rb a config/ambientes/special.rb

Crear la base de datos utilizando

$ RAILS_ENV=special rake db:create 
$ RAILS_ENV=special rake db:migrate 
$ RAILS_ENV=special rails s 
+0

@ map7, gracias, pero cómo ejecutar las cosas anteriores en una tarea de rake en su lugar de ejecutar desde línea de comandos? ¿Existe alguna forma especial en Rails para especificar el entorno para ejecutar en la tarea de rake? – Mellon

+1

E incluso ejecuto el comando en la línea de comando "RAILS_ENV = special rake db: create", no se creó la base de datos sepcial – Mellon

0

poner esto en su tarea de rastrillo :

RAILS_ENV = 'special' 
+0

Agregué esto, luego intenté poner mi entorno actual con el código "p ENV ['RAILS_ENV' ] ", Tengo nada ... – Mellon

Cuestiones relacionadas