我正在将 CodeIgniter 应用程序迁移到 Kohana,如果可能的话,我想利用 Kohana 的 AUTH 模块。我已经查看了 AUTH 模块使用的“标准”数据库模式,但是我已经有了包含相关信息的表和列,这些信息的命名和结构不同。
有没有办法通过扩展Model_User和/或Kohana_Auth_ORM来改变它在哪里寻找用户名/密码/电子邮件等?我想尽可能使用 ORM。
我想更改每个项目的表名和列名,以便我可以完全自定义它。
如果我被迫使用标准模式,这将降低我的应用程序的灵活性......
我有一张名为“实体”的表,其中存储了(例如用户、事件、文章)的基本详细信息。此表没有用户名/密码/电子邮件列,因为这些列不适用于事件或文章。用户名等的值存储在查找表中,该查找表以以下示例方式映射数据(为简洁起见)。
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';
我希望我已经清楚地解释了这一点,因为我意识到数据库模式非常不同寻常。
希望有人能指出我正确的方向!
非常感谢,史蒂夫