我正在使用dm-migrations为我的数据库创建自定义迁移。
但是,我似乎无法找到修改列长度的示例。有人可以解释一下这是怎么做的?我在rails 3上使用postgresql数据库。
更新:
我尝试了以下内容:
migration 1, :modify_course_url_length do
up do
modify_table :hotels do
change_column :url, String, :length => 255
end
end
end
但看起来我需要让change_column_type_statement
方法起作用,因为它是postgresql db。
更新2:
似乎问题是输出的SQL是:
ALTER TABLE“hotels”ALTER COLUMN“url”VARCHAR(255)
虽然它需要
ALTER TABLE“酒店”ALTER COLUMN“url”TYPE VARCHAR(255)
有人对此有任何想法吗?
答案 0 :(得分:1)
您可以为迁移编写原始SQL,就像这样......
migration 1, :modify_course_url_length do
up do
execute(<<-SQL)
ALTER TABLE hotels ALTER COLUMN url TYPE VARCHAR(255)
SQL
end
end