1

如何在 rails 3 中使用 ruby​​-debug 调试我的迁移?

运行 rake db:migrate 似乎不会像在 Rails 2 中那样触发任何调试器命令。并且 rake db:migrate --debugger 也不起作用。

谢谢。

4

1 回答 1

4

我能够通过执行以下操作来调试迁移

将 ruby​​-debug 添加到Gemfile

gem 'ruby-debug19'

在迁移中添加require 'ruby-debug'debugger在要停止的行中执行。例如

require 'ruby-debug'

class CreatePeople < ActiveRecord::Migration

  def self.up
    debugger
    create_table :people do |t|
      t.string :name
      t.String :email

      t.timestamps
    end
  end

  def self.down
    drop_table :people
  end
end

然后运行rake db:migrate或任何其他 db 命令。例如

~/dev/ruby/migrate$ rake db:migrate
(in /Users/augusto/dev/ruby/migrate)
==  CreatePeople: migrating ===================================================
/Users/augusto/dev/ruby/migrate/db/migrate/20110212134536_create_people.rb:7
create_table :people do |t|
(rdb:1) list
[2, 11] in /Users/augusto/dev/ruby/migrate/db/migrate/20110212134536_create_people.rb
   2  
   3  class CreatePeople < ActiveRecord::Migration
   4  
   5    def self.up
   6      debugger
=> 7      create_table :people do |t|
   8        t.string :name
   9        t.String :email
   10  
   11        t.timestamps
(rdb:1)
于 2011-02-12T13:56:30.027 回答