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
ありがとう