Подключиться к базе данных DBIx :: Class без повторения деталей подключения? - PullRequest
0 голосов
/ 05 июля 2018

DBIx::Class::Manual::Intro предлагает подключиться к базе данных следующим образом

my $schema = MyApp::Schema->connect(...)

явно указав сведения о соединении, такие как пароль.

Я хочу подключиться к одной и той же базе данных из нескольких разных сценариев, и было бы неразумно кодировать одни и те же параметры подключения в каждую из программ по отдельности.

Каков "официальный" способ создания метода подключения с фиксированными деталями подключения?

Я понимаю, что могу написать что-то вроде этого

package MyApp::Schema;

use base qw/DBIx::Class::Schema/;

sub my_connect {
  $_[0]::SUPER->connect(...);
}

1;

Рекомендуется ли этот подход?

Я понимаю, что предоставление различных сведений о соединении может быть полезным для сценариев тестирования, но в действительности мы еще не используем сценарии тестирования, поэтому в настоящее время это не имеет значения для нашей команды.

1 Ответ

0 голосов
/ 06 июля 2018

Поместите информацию о вашем соединении в файл конфигурации, создайте утилиту для возврата соединения и прочитайте информацию о конфигурации, как вы показали, или как функцию заводского типа. Сделайте конфигурацию зависимой от среды, и у вас будут бесплатные возможности тестирования.

...