タグ

railsとActiveRecordに関するnana4gontaのブックマーク (3)

  • ActiveRecord::Store 便利 | 変なヤバいもんログ

    Posted on 2013年3月29日 Posted by ちゅう コメントする Posted in Development Tags: Rails ActiveRecord で、条件によってカラムが変わったりするのを serialize した列にテキトウにぶっ込んでおくというありがちな実装の時に、実カラムのように透過的に扱えて validation とかも簡単にかけられる ActiveRecord::Store ちゃん便利。 例えば、SNSのアカウントを sns_accounts 列に Serialize して入れる場合(普通入れないが…) ActiveRecord::Store を使わない時 class User serialize :sns_accounts, Hash end とかして、以下のような感じにします。 user = User.new user.sns_accounts

    ActiveRecord::Store 便利 | 変なヤバいもんログ
  • RailsでPostgreSQLのJSONBデータ型を使う

    メモ。 調べた時のバージョンは、PostgreSQLは9.4.0で、Railsは4.2.0。 JSONBデータ型とはバイナリ型JSONの事。JSONBの"B"はバイナリ(binary)のB。 元々PostgreSQLでは9.2からJSON型に対応しており、9.4からJSONを独自バイナリ形式で格納するJSONB型が追加された。 JSONBの特徴をざっと書くと以下のような感じ データの正規化が行われ、入力結果が完全に保持されないケースがある(不要な要素の間の空白文字の削除、重複したキーがあった場合に後述したもののみ有効となる等)格納容量が大きくなる傾向にある。また、正規化が行われる為、格納処理は普通のJSON型の比べて遅い。検索がJSONと比べて格段に早い基的に、検索に特化している感じらしい。 JSONBについての詳細は、@nuko_yokohamaさんのJSONBデータ型を使ってみようが

    RailsでPostgreSQLのJSONBデータ型を使う
  • RailsでPostgreSQLの配列型を使う

    少し調べたのでメモ。 なお、調べた時のバージョンは、PostgreSQLは9.3.5で、Railsは4.2.0.rc3。 因みに、Rails GuideにActive Record and PostgreSQLというページがあり、 それを参考にしながら書いてます。 マイグレーションファイルRails体で配列型に対応しているので、特にgem等は必要無し。オプションに"array: true"を設定してあげればOK。 def change create_table :books do |t| t.string :title t.string :tags, array: true t.integer :ratings, array: true t.timestamps null: false end add_index :books, :tags, using: 'gin' add_index

    RailsでPostgreSQLの配列型を使う
  • 1