1

我正在使用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 "hotels" ALTER COLUMN "url" 类型 VARCHAR(255)

有人对此有任何想法吗?

4

1 回答 1

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
于 2012-10-29T03:19:37.110 回答