2010-05-06 3 views
0

J'essaye de remplir une base de données pour que je puisse commencer à travailler sur un projet. Ce projet est déjà construit et je suis amené à travailler pour le travail frontal. Le problème est que je ne peux pas obtenir rake db:migrate pour faire des insertions. Chaque fois que je lance rake db:migrate je reçois ceci:rake db: la migration échoue en essayant de faire des insertions

== 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) 

Je construis sur un PBM avec Snow Leopard. J'ai installé XCode à partir du disque fourni avec le mac. J'ai mis à jour ruby, rails installés et tous les gemmes nécessaires. J'ai la version 64 bits de MySQL installée.

J'ai essayé la version 32 bits de MySQL et j'ai même essayé installing from macports.

Le gem mysql est installé avec: sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/path/to/mysql/bin/mysql_config

la Migrate crée les tables très bien, mais il meurt à chaque fois qu'il tente un insert.

Toute aide serait grande

Répondre

0

Compte tenu de l'erreur que vous obtenez, il semble que vous ne l'avez pas besoin de la mysql gem. Autres getchas potentiels:

  1. Vous avez oublié de redémarrer votre application/serveur après l'installation de la gemme.
  2. Vous avez une sorte de problème avec les autorisations utilisateur mysql. (par exemple: pas de droits d'écriture)
  3. Vous utilisez le mauvais pilote/gemme mysql.

Edit: Si vous faites dev rubis sur Mac, je vous recommande fortement d'utiliser à la fois homebrew et rvm.

0

Si vous exécutez « la racine de MySQL » sur votre console fonctionne très bien, alors peut-être réinstaller votre gem mysql en suivant les instructions de hivelogic.com (selon le lien de John Topley) en tapant ceci:

sudo gem install mysql - --with-mysql-dir =/usr/local/mysql

Si vous avez installé MySQL 64 bits en tant que paquet, essayez de le réinstaller manuellement.

0

Astuce d'un côté: la migration de la base de données est mauvaise pour l'ensemencement. Si vous utilisez des rails> = 2.3.4 alors vous devriez utiliser les tâches db/seeds.rb et $ rake db:seed pour cela.

Questions connexes