运行rake db:migrate后没有输出

时间:2014-08-07 03:29:34

标签: ruby-on-rails rails-migrations

我在这里为 acts_as_commentable_with_threading的数据库迁移而苦苦挣扎。

生成迁移rails generate acts_as_commentable_with_threading_migration后,我继续添加评论表rake db:migrate。没有发生任何事情,没有错误消息,只是返回到常规提示。

在查看对此问题的其他回复时,我尝试了rake db:migrate VERSION= # version number。 然而,我在这里收到错误回复ActiveRecord::UnknownMigrationVersionError:

我必须在这里做一些极其错误的事情,因为计算机没有验证我的评论迁移的存在......

@Tiago回复

更新

rails generate migration acts_as_commentable_with_threading_migration

我必须通过将this code添加到迁移文件来手动创建迁移。然后,db:migration完美无缺。

为什么它首先没有工作? Documentation 明确表示要运行rails generate acts_as_commentable_with_threading_migration

1 个答案:

答案 0 :(得分:1)

如gem的页面所示,只需为自己创建一个迁移:

rails g migration acts_as_commentable_with_threading_migration

并将其粘贴到文件中:

class ActsAsCommentableWithThreadingMigration < ActiveRecord::Migration
  def self.up
    create_table :comments, :force => true do |t|
      t.integer :commentable_id, :default => 0
      t.string :commentable_type
      t.string :title
      t.text :body
      t.string :subject
      t.integer :user_id, :default => 0, :null => false
      t.integer :parent_id, :lft, :rgt
      t.timestamps
    end

    add_index :comments, :user_id
    add_index :comments, [:commentable_id, :commentable_type]
  end

  def self.down
    drop_table :comments
  end
end