Создать новую среду в Rails - PullRequest
6 голосов
/ 25 ноября 2011

Я не опытный разработчик Rails, разрабатываю приложение Rails v2.3 с MySQl v5.1.

Я не уверен, как достичьследующая вещь:

Мне нужно создать:

1. Новая среда (это новая среда помимо разработка , производство и test среды) с именем ' special ' environment

2. Новая среда базы данных для созданных выше special среда, что я сделал, это добавил следующее в config / database.yml

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

3. A rake task работать в среде special , а код в задаче rake имеет дело только с базой данных special .

Для этого мне нужно определить некоторые конфигурации, но не уверен:

  1. Что / Как именно необходимо настроить для создания специальной среды и базы данных?

    (Как вы видели выше, я определил только специальную базу данных в файле database.yml , но где и как определить и настроить новое окружение?)

  2. Как запустить код задачи rake в среде special и работать только со специальной базой данных в Rails.Может кто-нибудь, пожалуйста

PS

Мне нужно запустить все в грабли задачи, а не из командной строки.Как изменить среду и как проверить изменение?

-------------- Найдена причина, но не уверен, что решение ---------------------

Хорошо, я обнаружил, что причина этой проблемы с проводом в том, что камень mysql2, который, кажется, не может загрузить новый " special "В среде, если я переключусь на использование mysql gem, проблема исчезнет.Но этот объект должен использовать mysql2 по какой-то другой причине.Как избавиться от этой mysql2 проблемы?

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Попробуйте следующее:

Скопируйте файл config / environment / development.rb в файл config / environment / special.rb

.

Создать базу данных, используя

 $ RAILS_ENV=special rake db:create
 $ RAILS_ENV=special rake db:migrate
 $ RAILS_ENV=special rails s
0 голосов
/ 25 ноября 2011

Поместите это в ваше задание по рейку:

RAILS_ENV = 'special'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...