2
Как переименовать ключ hstore в Rails 4 с Postgres?Как переименовать ключ hstore в Rails + Postgres
User.update_all('hstorename -> oldcolumname: newcolumnname') ???
Как переименовать ключ hstore в Rails 4 с Postgres?Как переименовать ключ hstore в Rails + Postgres
User.update_all('hstorename -> oldcolumname: newcolumnname') ???
основе https://stackoverflow.com/a/13276545/305019
def change_hstore_key(klass, h, from_key, to_key)
klass.where("#{h} ? '#{from_key}'")
.update_all("#{h} = (#{h} - '#{from_key}'::text) || " \
"hstore('#{to_key}'::text, #{h} -> '#{from_key}')")
end
# usage
change_hstore_key(User, hstorename, oldcolumnname, newcolumnname)
ВАЖНО: Не используйте это с любым поставляемыми пользователем Params, чтобы избежать инъекции SQL. Для миграции и т. Д., Где вы предоставляете все данные, это должно сделать трюк.