Rails локальная установка Rails-приложения rake db: migrate возвращает - PullRequest
0 голосов
/ 28 января 2010

У меня есть частное приложение Rails, которое я пытаюсь установить локально. В настоящее время он работает в среде хостинга, но я бы хотел установить его локально, чтобы начать вносить изменения. Я уже понял, что могу делать обновления развертывания на «живом» сервере, но недавняя ошибка «усилила необходимость вносить изменения локально».

После большого количества чтения я решил, что мне нужно ...

  1. Получить последний репозиторий (использует SVN)
  2. Получить базу данных mysqldump -u root --databases my_db_development> my_db_development_0110.sql
  3. Локально импортированная база данных (MAMP / Sequel Pro заметил, что в базе данных нет данных, хотя на живом сервере есть данные - это странно? )
  4. Проверка базы данных.yml (адаптер: mysql, кодировка: utf8, база данных: my_db_development, имя пользователя: root, пароль:, хост: localhost)

Следующим шагом, который я предполагал, было войти в мой локальный каталог и rake db: migrate --trace , который вернул приведенный ниже вывод.

Я немного не уверен, как понять и понять, почему я не могу двигаться вперед. Есть какие-нибудь идеи относительно того, что я что-то пропустил или, возможно, нужно что-то изменить?

(in /Users/me/my_repo)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
Multiple migrations have the version number 1
/Users/me/.gem/ruby/1.8/gems/activerecord-2.1.2/lib/active_record/migration.rb:472:in `migrations'
/Users/me/.gem/ruby/1.8/gems/activerecord-2.1.2/lib/active_record/connection_adapters/mysql_adapter.rb:15:in `inject'
/Users/me/.gem/ruby/1.8/gems/activerecord-2.1.2/lib/active_record/migration.rb:465:in `each'
/Users/me/.gem/ruby/1.8/gems/activerecord-2.1.2/lib/active_record/migration.rb:465:in `inject'
/Users/me/.gem/ruby/1.8/gems/activerecord-2.1.2/lib/active_record/migration.rb:465:in `migrations'
/Users/me/.gem/ruby/1.8/gems/activerecord-2.1.2/lib/active_record/migration.rb:431:in `migrate'
/Users/me/.gem/ruby/1.8/gems/activerecord-2.1.2/lib/active_record/migration.rb:373:in `up'
/Users/me/.gem/ruby/1.8/gems/activerecord-2.1.2/lib/active_record/migration.rb:356:in `migrate'
/Users/me/.gem/ruby/1.8/gems/rails-2.1.2/lib/tasks/databases.rake:99
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/Library/Ruby/Gems/1.8/gems/rake-0.8.7/bin/rake:31
/usr/bin/rake:19:in `load'
/usr/bin/rake:19

Ответы [ 2 ]

1 голос
/ 28 января 2010

Если вы импортируете всю базу данных из производственной среды, вам не нужно запускать db: migrate - база данных / схема уже должны быть обновлены. Похоже, вам не хватает данных в локальной базе данных и что-то пошло не так с импортом.

1 голос
/ 28 января 2010

Кажется, у вас есть дублирующиеся миграции в вашем каталоге миграции. Проверьте префиксы миграций в файле database_migrations / migrate и убедитесь, что вы не скопировали несколько версий или не создали миграции без синхронизации с репозиторием.

...