所以,你可以從剛剛改變string
列的數據類型hstore
。
有一點要記住的是,你需要轉換的數據hstore或者您將收到以下錯誤
PG::DatatypeMismatch: ERROR: column "my_serialized_column" cannot be cast automatically to type hstore
HINT: You might need to specify "USING my_serialized_column::hstore".
爲了避免錯誤,您可以指定鑄造
class ChangeMySerializedColumnTypeToHstore < ActiveRecord::Migration
def up
change_column_null :my_table, :my_serialized_column, ''
change_column :my_table, :my_serialized_column, "hstore USING my_serialized_column::hstore"
end
def down
change_column :my_table, :my_serialized_column, :string, default: ''
end
end
你有hstore在rails 3中? Rails 4仍然有hstore。爲什麼要遷移到不同的列類型? – BigRon
在rails 3列數據類型是'string'我們正在序列化列 –