【发布时间】:2015-04-04 21:26:06
【问题描述】:
我们知道,rails ActiveRecord::Migration 现在有了一个新方法
def change
add_column :accounts, :name, :string
add_index :accounts, :name
change_column :my_table, :some_id, :string
end
但我的问题是针对
change_column :my_table, :some_id, :string
rails 不需要知道 :some_id 之前的类型是否为整数。 例如假设 :some_id 是一个整数,在迁移之后它被转换为字符串。
当我恢复此迁移时:some_id 类型应再次为整数。我对吗 ??但是rails如何理解 :some_id 以前的类型是整数。
在之前的 self.up 和 self.down 方法中,它是写在迁移文件中的。所以这不是问题。 rails 可以很容易地找到它。但是在改变方法中它是如何被记住的?它是否在以前的迁移文件中检查此表的迁移,其中最后一个数据类型被定义为 :some_id 或其他任何东西??
【问题讨论】:
-
以下链接将帮助您回答您的问题:stackoverflow.com/questions/10365129/…