タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

railsとactiverecord_patternに関するrochefortのブックマーク (2)

  • プライマリキーを使った1:1関連のテーブル分割で自動採番をしないようにする - かみぽわーる

    プライマリキーを使った1:1関連でカラム数の多いテーブルを分割する - Hidden in Plain Sight プチ・デザインパターン的なやつ、僕もよくやってます。 で、運用エンジニア的にはデータの不整合を起こしうる要因はできる限りDB側の制約でも防ぎたいので、このusersとprofilesの場合だと、usersで自動採番されたidをprofilesでも使うのでprofilesの自動採番する機能は残しておくと事故るリスクがあるので落としたいわけです。 なので、僕はいつもこんな感じでmigrationを書いてます。 class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :email, charset: 'ascii', collation: 'ascii_bi

    プライマリキーを使った1:1関連のテーブル分割で自動採番をしないようにする - かみぽわーる
    rochefort
    rochefort 2014/04/17
    1対1のテーブル分割 // 自動採番を外す方法
  • プライマリキーを使った1:1関連でカラム数の多いテーブルを分割する - Hidden in Plain Sight

    おそらく多くのソーシャル系アプリにあてはまるRailsのプチ・デザインパターン的な話。 ぼくが今やっているEast Meet Eastには、ユーザごとに数多くのプロフィール属性があります。名前、性別、生年月日、郵便番号、職業などなど、カラム数にしてざっと25個。これを、全部ひとつのusersテーブルに詰め込むのは、コードの見通しという観点からも性能の観点からも、あまりよろしくありません。 なぜならば、ユーザ関連の情報を扱う局面としては主に メールアドレスとパスワードなどを使ってログインする(アカウント情報) プロフィール情報で条件を指定してユーザを検索・推薦する(プロフィール情報) という2つの独立性の高いユースケースにわかれるため、ログイン処理をやってるときにはプロフィール情報はいらないし、プロフィールを検索してるときにはメールアドレスやパスワードをロードするのは無駄です。また、開発やデ

    プライマリキーを使った1:1関連でカラム数の多いテーブルを分割する - Hidden in Plain Sight
    rochefort
    rochefort 2014/04/17
    1対1のテーブル分割
  • 1