我正在使用 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 数据库。
更新 2:
看来问题是输出的 SQL 是:
ALTER TABLE "酒店"ALTER COLUMN "url"VARCHAR(255)
需要的时候
ALTER TABLE "酒店"ALTER COLUMN "url"TYPE VARCHAR(255)
有人对此有任何想法吗?
最佳答案
您可以只为迁移编写原始 SQL,就像这样...
migration 1, :modify_course_url_length do
up do
execute(<<-SQL)
ALTER TABLE hotels ALTER COLUMN url TYPE VARCHAR(255)
SQL
end
end
关于ruby-on-rails-3 - 如何使用 Datamapper 迁移调整 postgreSQL 数据库中的列长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10281864/