如何在rails中测试或调试我的迁移脚本?

时间:2012-01-08 16:00:55

标签: mysql ruby-on-rails database migration rake

我目前正在开发一个大型迁移脚本,我需要执行以下操作:

1-在table_1中创建新列

2-将表格_2的值复制到table_1

中创建的新列

3-删除table_2

我为此迁移开发了上下方法。我的问题是第2步没有正确复制我的数据我需要能够在运行时测试/调试我的代码。

如果有办法请告诉我。我目前正在使用Rails 2.3.8但是如果有Rails 3或3.1的方法也请告诉我。

非常感谢

2 个答案:

答案 0 :(得分:1)

在迁移中操作数据不是一个好主意。它们应仅用于编辑数据库结构。但是你总是可以重命名现有的表,它是列,并为其添加新列或删除其中的一些。可以在http://api.rubyonrails.org/classes/ActiveRecord/Migration.html

找到可以通过迁移在数据库上执行的可用操作的列表

答案 1 :(得分:1)

要调试数据迁移,可以使用ruby-debug gem并在迁移代码中插入断点:

require 'ruby-debug'; debugger

然后运行rake任务:

rake db:migrate:redo VERSION=whatever_version_number_your_migration_has

Quick ruby-debug tutorial here.