CodeIgniter アプリケーションを Kohana に移行しています。可能であれば、Kohana の AUTH モジュールを利用したいと考えています。AUTH モジュールが使用する「標準」データベース スキーマを見てきましたが、名前と構造が異なる関連情報を含むテーブルと列が既にあります。
Model_UserやKohana_Auth_ORMを拡張することで、ユーザー名/パスワード/電子メールなどを探している場所を変更する方法はありますか? 可能であればORMを使用したいと思います。
各アイテムのテーブル名と列名を変更して、完全にカスタマイズできるようにしたいと考えています。
標準スキーマの使用を余儀なくされると、アプリケーションの柔軟性が低下します...
基本的な詳細 (ユーザー、イベント、記事など) が格納される「エンティティ」と呼ばれるテーブルが 1 つあります。イベントや記事には適用されないため、このテーブルにはユーザー名/パスワード/メールの列がありません。ユーザー名などの値はルックアップ テーブルに格納され、次の例のようにデータがマップされます (簡潔にするために省略されています)。
Table: entity
Columns: entity_id
Table: map_entity_attribute
Columns: entity_id, attribute_id, value
Table: attribute
Columns: attribute_id, name
サンプルデータ:
entity.entity_id = 99;
map_entity_attribute.entity_id = 99;
map_entity_attribute.attribute_id = 1;
map_entity_attribute.value = 'ThisIsMyUsername';
attribute.attribute_id = 1;
attribute.name = 'Username';
データベース スキーマが非常に普通ではないことに気付いたので、これを明確に説明できたことを願っています。
うまくいけば、誰かが私を正しい方向に向けることができます!
どうもありがとう、スティーブ