Я пытаюсь получить базу данных, чтобы начать работу над проектом. Этот проект уже построен, и меня привлекают к работе с интерфейсом. Проблема в том, что я не могу получить rake db:migrate
для любых вставок. Каждый раз, когда я запускаю rake db:migrate
, я получаю следующее:
== 20081220084043 CreateTimeDimension: migrating ==============================
-- create_table(:time_dimension)
-> 0.0870s
INSERT time_dimension(time_key, `year`, `month`, `day`, day_of_week, weekend, quarter) VALUES(20080101, 2008, 1, 1, 'Tuesday', false, 1)
rake aborted!
Could not load driver (uninitialized constant Mysql::Driver)
Я строю на MBP со Snow Leopard. Я установил XCode из диск, который поставляется с Mac. Я обновил рубин, установил рельсы и все необходимые драгоценные камни. У меня установлена 64-битная версия MySQL.
Я пробовал 32-битную версию MySQL, и я даже попробовал установку из macports.
Драйвер mysql устанавливается с помощью: sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/path/to/mysql/bin/mysql_config
перенос создает таблицы просто отлично, но он умирает каждый раз, когда он пытается вставить.
Любая помощь будет отличной
Учитывая ошибку, которую вы получили, похоже, что вам не нужен gem mysql. Другие потенциальные ошибки:
Изменить: Если вы используете ruby dev на Mac, я настоятельно рекомендую использовать homebrew и rvm.
Совет на стороне: миграция базы данных плохо для посева. Если вы используете rails >= 2.3.4, то для этого вы должны использовать задачу db/seeds.rb и $ rake db:seed
.
Если запуск "mysql -u root" на вашей консоли отлично работает, то, возможно, переустановите свой mysql gem, используя инструкции с hivelogic.com(по ссылке John Topley), набрав вместо этого:
sudo gem install mysql - --with-mysql-dir =/usr/local/mysql
Если вы установили MySQL 64-разрядный как pkg, попробуйте переустановить с помощью ручной компиляции.
Эти инструкции по установке MySQL отлично поработали для меня в Mac OS X Snow Leopard: http://hivelogic.com/articles/compiling-mysql-on-snow-leopard