我有一个过去几年开发的类库,它使用 Perl 的 Class::DBI 来包装关系数据库(Prestashop 的 DB 方案,没那么重要)
是否有人知道在单个 perl 脚本中创建此类的多个“实例”,指向不同的数据库?例如,现在我做类似的事情:
use MyClassLib;
MyClassLib->connection('dbi:mysql:mydatabase', 'username', 'password');
MyClassLib->some_method()
这一切都很好。
我想要做的本质上是别名MyClassLib
,以便能够使用它的另一个“实例”指向不同的数据库。Class::DBI
将其数据库连接存储为静态状态是一件很痛苦的事情。
伪代码中的类似内容
use MyClassLib;
use MyClassLib as MyClassLibAlias;
MyClassLib->connection('dbi:mysql:mydatabase', 'username', 'password');
MyClassLibAlias->connection('dbi:mysql:mynewdatabase', 'username', 'password');
MyClassLib->some_method()
然后从代码访问MyClassLib
和MyClassLibAlias
. 我知道Class::DBI
是遗留的,DBIx::Class
如果不存在的话,使用的解决方案也将不胜感激Class::DBI
谢谢