sql >> データベース >  >> RDS >> PostgreSQL

Railsの移行でPostgres配列を使用するように列を変更

    PostgreSQLはvarcharの列を自動的に変換する方法を知りません varcharの配列に 。現在の値がどの形式であると思うかを知る方法がないため、何を意図しているのかわかりません。

    だからあなたはそれを言う必要があります。それがUSING 条項はのためのものです。

    ActiveRecordはUSINGを明示的にサポートしていないようです 句(最も基本的なデータベース機能さえほとんどサポートしていないので、驚くことではありません)。ただし、移行用に独自のSQLテキストを指定できます。

    文字列がコンマで区切られていて、それ自体にコンマが含まれていない場合があります。例:

    def change
      change_column :table, :dummy_column, "varchar[] USING (string_to_array(dummy_column, ','))"
    end
    

    (私はRailsを自分で使用しておらず、これをテストしていませんが、他の場所の例で使用されている構文と一致しています)。



    1. SQL ServerのLOG()の例

    2. Oracleでのカンマ区切り値の分割

    3. MySQLに行を挿入するためのクエリの挿入

    4. プリペアドステートメントから自動インクリメントIDを取得する方法はありますか