-
Notifications
You must be signed in to change notification settings - Fork 0
/
modencode_mart_create.pl
39 lines (36 loc) · 980 Bytes
/
modencode_mart_create.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use strict;
use warnings;
use DBIx::Class::Schema::Loader qw/ make_schema_at /;
use Getopt::Long;
use Config::IniFiles;
my $root_dir;
BEGIN {
$root_dir = $0;
$root_dir =~ s/[^\/]*$//;
$root_dir = "./" unless $root_dir =~ /\//;
push @INC, $root_dir;
}
my ($dbtype, $dbname, $host, $port, $user, $pass);
my $config = $root_dir . 'config/modencode_mart.ini';
tie my %ini, 'Config::IniFiles', (-file => $config);
#default martdb connect info
$dbtype = $ini{mart}{type};
$dbname = $ini{mart}{name};
$host = $ini{mart}{host};
$port = $ini{mart}{port};
$user = $ini{mart}{user};
$pass = $ini{mart}{password};
#override martdb connect info
my $opts = GetOptions(
"dbtype=s" => \$dbtype,
"dbname=s" => \$dbname,
"host:s" => \$host,
"port:i" => \$port,
"user:s" => \$user,
"password:s" => \$pass
);
make_schema_at(
'Schema',
{debug => 1, dump_directory => './Mart'},
["dbi:$dbtype:dbname=$dbname;host=$host;port=$port", $user, $pass]
);