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 dbであるため、メソッドを機能させる必要があるようです。

更新 2:

問題は、出力された SQL が次のようになっていることです。

ALTER TABLE "hotels" ALTER COLUMN "url" VARCHAR(255)

それが必要である一方で

ALTER TABLE "hotels" ALTER COLUMN "url" TYPE 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 に答える