[前][次][番号順一覧][スレッド一覧]

rails:2930

From: Shin Morichika <ofl@c...>
Date: Fri, 5 Dec 2008 09:34:05 +0900
Subject: [rails:2930] idと同じ数字を同一レコードに保存したい

Rails 2.1 DBは現在はSQLiteですが本番時はMySQLを予定 
しています。

ユーザーを保存するモデルにおいて、別ユーザーと同じ家族であることを
示すものとしてfamily_idを設定します。

id name family_id

1, 山本太郎, 1
2, 田中直子, 2
3, 山本陽子,1
4, 小林実, 4

ここでid:3のfamily_idを1にすることでid:3 
はid:1の家族とみなします。

ユーザーを新規登録する際に、別のユーザーの家族であれば 
family_idは
そのユーザーIDを入力し、入力が無い場合はNULLではなく 
primary-keyと
同じidを登録したいと思うのですがその方法として

1、after_saveのコールバックを使う。
2、ActiveRecord Base.connection.executeでSQLを実行 
して、
データベースのlast_insert_rowid()関数などでidを取得 
して保存する。
3、データベースのトリガーを利用する

というような方法が使えそうですがどれもデメリットが存在するかなと
思います。

どなたか同じようなことをされた方がいればぜひアドバイスをお願いし 
ます。

-- 
森近 真
uy4s-mrck@a...


--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->    2930 2008-12-05 01:34 [ofl@c...            ] idと同じ数字を同一レコードに保存したい  
      2932 2008-12-05 14:58 ┗[ayu@y...            ]                                       
      2934 2008-12-06 00:43  ┗[ofl@c...            ]                                     
      2935 2008-12-06 02:16   ┗[andymatsubara@g...  ]                                   
      2937 2008-12-06 15:24    ┗[ofl@c...            ]                                 
      2938 2008-12-06 15:42     ┗[andymatsubara@g...  ]                               
      2939 2008-12-06 16:22      ┗[ofl@c...            ]