【问题标题】:How do I test or debug my migration scripts in rails?如何在 Rails 中测试或调试我的迁移脚本?
【发布时间】:2012-02-05 10:19:51
【问题描述】:

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

1- 在 table_1 中创建新列

2- 将 table_2 中的值复制到 table_1 中创建的新列

3- 删除 table_2

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

如果有办法请告诉我。我目前使用的是 Rails 2.3.8,但如果有适用于 Rails 3 或 3.1 的方法,请告诉我。

非常感谢

【问题讨论】:

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


    【解决方案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.

    【讨论】:

    • 已修复!感谢您的关注;)
    【解决方案2】:

    在迁移中操作数据不是一个好主意。它们应该只用于编辑数据库结构。但是您始终可以重命名现有表、它的列并向其中添加新列或删除其中一些列。可以通过迁移在数据库上执行的可用操作列表可以在http://api.rubyonrails.org/classes/ActiveRecord/Migration.html找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-13
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      相关资源
      最近更新 更多