Ошибка базы данных Rake: ОШИБКА 1102 (42000) в строке 1: неверное имя базы данных [nil] - PullRequest
0 голосов
/ 22 марта 2011

Я получаю следующую ошибку:

$ rake db: drop
(в D: / Repository / MyApp)
~ [datamapper] Настройка среды разработки:
~ [datamapper] Настройка: репозиторий по умолчанию: '' на mysql
ОШИБКА 1102 (42000) в строке 1: неверное имя базы данных ''

Вот мой файл database.yml:

defaults: &defaults
  adapter: mysql
  encoding: utf8
  reconnect: false
  pool: 5
  username: dbuser
  password: ******

development:
  database: myapp_development
  host: 127.0.0.1
  <<: *defaults

test:
  database: myapp_test
  host: 127.0.0.1:3306
  <<: *defaults

production:
  database: myapp_production
  host: mysql.myapp.com
  <<: *defaults

Я использую сервер mysql 5.5 на платформе Windows с Ruby 1.9.2 и Rails 3, и на сервере настроены подходящие базы данных, пользователь и пароль. Я использую datamapper. Это работает на нашем живом сайте, но не на моем локальном сайте. При запуске 'rails dbconsole' выдается "ruby192installationpath / dbconsole.rb: 75: в" exec ": невозможно преобразовать nil в строку (TypeError).

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

1 Ответ

1 голос
/ 06 июля 2011

Я столкнулся с той же ошибкой и обнаружил в другом сообщении, что она действительно была вызвана ошибкой синтаксического анализа YAML.Это заставило вспомнить, что при настройке Mongoid с Ruby 1.9.2 мне пришлось включить в config / environment.rb следующее: 1001 *

#Add this to config/environment.rb at the top
require 'yaml'
YAML::ENGINE.yamler= 'syck'

Это помогло и решило эту проблему.Надеюсь, это поможет.

...