Ruby скрипт / консоль и Ruby скрипт / сервер, использующий две разные БД? - PullRequest
1 голос
/ 22 марта 2010

Кто-нибудь видел, где скрипт / консоль и скрипт / сервер загружают две разные базы данных (хотя обе используют одну и ту же информацию)? Вот первый вывод

$ script/server
=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-03-21 15:54:05] INFO  WEBrick 1.3.1
[2010-03-21 15:54:05] INFO  ruby 1.8.7 (2010-01-10) [i386-mingw32]
[2010-03-21 15:54:05] INFO  WEBrick::HTTPServer#start: pid=7148 port=3000

Нет ошибок. Затем я запускаю свой стандартный код для ввода формы - без проблем.

Проверка базы данных разработчиков (.yml внизу):

mysql> select * from books;
[...]
| 712 | Book | Book Name | 2010-03-21 22:29:22 | 2010-03-21 22:29:22 |
[...]
712 rows in set (0.00 sec)

Код ЯСНО сохранил его несколько секунд назад

А теперь вот вывод скрипта / консоли:

$ script/console
Loading development environment (Rails 2.3.5)
>> Book.all
=> []

Ничего. Кроме того, при дальнейшей проверке он использует производственную базу данных, но я не могу понять, почему. Есть мысли здесь? Все консоли были закрыты и вновь открыты.

ОБНОВЛЕНИЕ: Запрошенный файл .yml (не могу понять, как это было бы полезно (имя пользователя и пароль одинаковы для каждого)) -

development:
  adapter: mysql  
  database: BooksDBdev
  username: <user name>
  password: <long string>
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql
  database: BooksDBtest
  username: <user name>
  password: <long string>
  timeout: 5000

production:
  adapter: mysql
  database: BooksDB
  username: <user name>
  password: <long string>
  timeout: 5000

Обновлено 2 : Вот вывод, когда я форсирую консольную среду.

$ script/console development
Loading development environment (Rails 2.3.5)
>> Book.all
=> []
>> exit

$ ruby script/console development
Loading development environment (Rails 2.3.5)
>> Book.all
=> []

Только к вашему сведению, в моих переменных среды не указано RAILS_ENV.

Ответы [ 2 ]

0 голосов
/ 22 марта 2010

Работаете ли вы одновременно в разных терминалах? Если это так, вам может потребоваться выполнить команду reload! в консоли, чтобы изменения базы данных отобразились.

0 голосов
/ 22 марта 2010

Название модели во множественном числе? Хлоп! У вас есть другая модель под названием Книга или что-то еще

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