sql >> Databáze >  >> RDS >> PostgreSQL

Pole rails, které je polem objektů JSON?

Když používáte postgres, máte štěstí:postgres má nativní json typ. To je mnohem lepší než použití serializace k ukládání dat jako nějaké formy kódovaného řetězce, protože postgres má bohatou rodinu operátorů, které vám umožňují dotazovat se na tato data json.

Pokud používáte postgres 9.4, můžete také použít typ jsonb. To je obecně lepší, protože ukládá zpracovanou verzi dat (tj. nemusí data znovu a znovu upravovat) a umožňuje indexování.

Rails to podporuje hned po vybalení (viz zde ), stačí přidat sloupec typu json(b). Pokud vaše migrace obsahuje

create_table :damages do |t|
  t.string :description
  t.jsonb :damage_points
end

pak

Damage.create(damage_points:  [{left: 40, top: 99}, {left: 100, top: 35}])

by vytvořil řádek s datovým úložištěm bodů poškození jako json. Jediná věc, na kterou je třeba dávat pozor, je, že ačkoli vaše vstupní data obsahují jako klíče v hashe symboly, při načítání z databáze vždy dostanete řetězce zpět jako klíče.



  1. jak dotazovat databázi Oracle na základě vstupu uživatele pomocí asp.net c#

  2. Jak mohu vytvořit mysql db pomocí Docker compose?

  3. Jak připojit Oracle Cloud Instance pomocí Oracle Cloud Shell?

  4. Postgresql gem install pg 0.18.4 projde, instalace balíčku se nezdaří