rake db:migrate不再工作,没有错误消息

时间:2014-11-17 18:36:50

标签: ruby ruby-on-rails-4 rake

我无法找到有关rake db的类似问题的答案:迁移失败而没有错误消息。我试着耙一个特定的版本,但也没有用。我得到以下内容:

** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:migrate
** Invoke db:_dump (first_time)
** Execute db:_dump
** Invoke db:schema:dump (first_time)
** Invoke environment 
** Invoke db:load_config 
** Execute db:schema:dump

我运行了rake db:migrate:status并告诉我几个迁移文件丢失但我不知道它们是什么。只是丢失的文件。

up     20140506035953  ********** NO FILE **********
up     20140506035954  ********** NO FILE **********
up     20140506035955  ********** NO FILE **********

我认为删除schema_migrations表中的条目可以解决问题,但它没有。

我认为在运行捆绑更新后问题已经开始。我在10.9.5的Mac上使用RVM运行rails 4.1.4,ruby 2.1.3p242。跑步" rake about"给出以下内容:

About your application's environment
Ruby version              2.1.3-p242 (x86_64-darwin14.0)
RubyGems version          2.2.2
Rack version              1.5
Rails version             4.1.4
JavaScript Runtime        Node.js (V8)
Active Record version     4.1.4
Action Pack version       4.1.4
Action View version       4.1.4
Action Mailer version     4.1.4
Active Support version    4.1.4
Middleware                Rack::Sendfile, ActionDispatch::Static, Rack::Lock, #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x007fadd50e54e0>, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActiveRecord::Migration::CheckPending, ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, Rack::Head, Rack::ConditionalGet, Rack::ETag
Environment               development
Database adapter          postgresql
Database schema version   20141117165919

其他信息:

这会被转储到我的日志文件中。

[1m[36mActiveRecord::SchemaMigration Load (0.9ms)[0m  [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
[1m[35mActiveRecord::SchemaMigration Load (0.4ms)[0m  SELECT "schema_migrations".* FROM "schema_migrations"

任何建议表示赞赏。

2 个答案:

答案 0 :(得分:0)

我需要回答这个问题作为答案,因为我没有足够的代表发表评论(看起来很愚蠢,因为此时评论可能更好)。

但是,缺少的文件可能是旧的迁移文件,它们以时间戳文件名开头,后跟方法。例如。

20140506035953_create_table.rb

在某些时候,您必须删除迁移文件,因为您不再需要或不需要它们。

如果迁移导致数据库正常运行,我不会担心它。

答案 1 :(得分:0)

我在Rails rake db:migrate has no effect找到答案。我尝试运行VERSION选项之前没有成功。添加具有特定版本号的“重做”。以下解决了这个问题。

rake db:migrate:redo VERSION=20141117165919 --trace