我有几个(约 100 个并且还在计数)MySQL 表,每个表的条目超过 50M。问题是所有这些表都具有完全相同的结构,我想在 DBIx::class 中为它们创建一个结果类。例如,考虑一组具有以下结构的表:
CREATE TABLE users_table_1 (
name TINYTEXT,
username TINYTEXT
);
CREATE TABLE users_table_2 (
name TINYTEXT,
username TINYTEXT
);
...
我希望能够执行以下操作,而不必为每个表创建一个结果类。
my $users_1_rs = $schema->resultset('User_table_1');
my $users_2_rs = $schema->resultset('User_table_2');
...
我是 DBIx::Class 的新手,我能想到的唯一两种可能的解决方案是:
- 对于每个表,使用DBIx::Class::DynamicSubclass 之类的东西从具有所有通用功能的基本结果类中继承。缺点是这样我仍然需要为我的每一个表编写一个类(尽管是一个小类)。
- 使用DBIx::Class::Loader并从数据库本身自动创建类。但是,我发现这个解决方案对于我的需求来说并不是非常优雅和强大。
有人可以为我指出一个更优雅的解决方案吗?