如何在 rails 3 中使用 ruby-debug 调试我的迁移?
运行 rake db:migrate 似乎不会像在 Rails 2 中那样触发任何调试器命令。并且 rake db:migrate --debugger 也不起作用。
谢谢。
如何在 rails 3 中使用 ruby-debug 调试我的迁移?
运行 rake db:migrate 似乎不会像在 Rails 2 中那样触发任何调试器命令。并且 rake db:migrate --debugger 也不起作用。
谢谢。
我能够通过执行以下操作来调试迁移
将 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)