2009-12-14 6 views
1

J'ai transféré un projet sur une nouvelle machine. Tout fonctionne. Je peux lancer des migrations et ils mettent à jour la base de données mysql. Toutefois, le fichier schema.rb ne reconnaît pas les modifications. J'ai vérifié les autorisations de lecture/écriture pour schema.rb sont OK. Est-ce que quelqu'un a une idée de ce qui pourrait causer ce problème. J'utilise la version 2.3.5 de Rails. rake: redo rake: rollback ne fonctionne pas car le schéma n'est pas conscient des changements dans la base de données. run rb db: migrer à nouveau ne fait rien.schema.rb ne se met pas à jour après le transfert vers une nouvelle machine

Répondre

1

Je ne l'ai jamais rencontré ce problème, mais cela peut le résoudre:

  1. Faites une sauvegarde de votre actuelle schema.rbcp db/schema.rb db/schema.rb.backup
  2. Supprimer schema.rbrm db/schema.rb
  3. Run rake db:migrate

Cela regénarera votre schema.rb fichier à partir de l'état actuel de la base de données.

2

La réponse est que j'avais la ligne suivante dans mon fichier development.rb

config.active_record.schema_format = :sql

Après le commenter, tout fonctionnait.

Questions connexes