diff options
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/db_deploy | 31 | ||||
| -rwxr-xr-x | bin/db_gen_schema_dump | 22 | ||||
| -rwxr-xr-x | bin/db_legacy | 31 | ||||
| -rwxr-xr-x | bin/db_upgrade | 31 |
4 files changed, 115 insertions, 0 deletions
diff --git a/bin/db_deploy b/bin/db_deploy new file mode 100755 index 0000000..eca393e --- /dev/null +++ b/bin/db_deploy @@ -0,0 +1,31 @@ +#!/usr/bin/env perl +use v5.20; +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../lib"; + +use ASM::Config; +use ASM::DB; +use Getopt::Long; +use DBIx::Class::DeploymentHandler; + +GetOptions( + 'config|c=s' => \$::cset, +); +if ($::cset eq '') { $::cset = 'config-default'; } +else { $::cset = "config-$::cset"; } +ASM::Config->readConfig(); + +my $schema = ASM::DB->connect($::mysql->{dsn}, $::mysql->{user}, $::mysql->{pass}); + +my $dh = DBIx::Class::DeploymentHandler->new({ + schema => $schema, + schema_version => '' . $schema->schema_version, + sql_translator_args => { add_drop_table => 0, quote_identifiers => 1 }, + databases => [], + ignore_ddl => 1, + }); + +$dh->install; diff --git a/bin/db_gen_schema_dump b/bin/db_gen_schema_dump new file mode 100755 index 0000000..1e84dd3 --- /dev/null +++ b/bin/db_gen_schema_dump @@ -0,0 +1,22 @@ +#!/usr/bin/env perl +use v5.20; +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../lib"; + +use ASM::DB; +use DBIx::Class::DeploymentHandler; + +my $schema = ASM::DB->clone; + +my $dh = DBIx::Class::DeploymentHandler->new({ + schema => $schema, + schema_version => '' . $schema->schema_version, + sql_translator_args => { add_drop_table => 0, quote_identifiers => 1 }, + databases => [], + ignore_ddl => 1, + }); + +$dh->prepare_install; diff --git a/bin/db_legacy b/bin/db_legacy new file mode 100755 index 0000000..6f0208c --- /dev/null +++ b/bin/db_legacy @@ -0,0 +1,31 @@ +#!/usr/bin/env perl +use v5.20; +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../lib"; + +use ASM::Config; +use ASM::DB; +use Getopt::Long; +use DBIx::Class::DeploymentHandler; + +GetOptions( + 'config|c=s' => \$::cset, +); +if ($::cset eq '') { $::cset = 'config-default'; } +else { $::cset = "config-$::cset"; } +ASM::Config->readConfig(); + +my $schema = ASM::DB->connect($::mysql->{dsn}, $::mysql->{user}, $::mysql->{pass}); + +my $dh = DBIx::Class::DeploymentHandler->new({ + schema => $schema, + schema_version => '' . $schema->schema_version, + sql_translator_args => { add_drop_table => 0, quote_identifiers => 1 }, + }); + +$dh->prepare_version_storage_install; +$dh->install_version_storage; +$dh->add_database_version({ version => 1 }); diff --git a/bin/db_upgrade b/bin/db_upgrade new file mode 100755 index 0000000..fc424ae --- /dev/null +++ b/bin/db_upgrade @@ -0,0 +1,31 @@ +#!/usr/bin/env perl +use v5.20; +use strict; +use warnings; + +use FindBin; +use lib "$FindBin::Bin/../lib"; + +use ASM::Config; +use ASM::DB; +use Getopt::Long; +use DBIx::Class::DeploymentHandler; + +GetOptions( + 'config|c=s' => \$::cset, +); +if ($::cset eq '') { $::cset = 'config-default'; } +else { $::cset = "config-$::cset"; } +ASM::Config->readConfig(); + +my $schema = ASM::DB->connect($::mysql->{dsn}, $::mysql->{user}, $::mysql->{pass}); + +my $dh = DBIx::Class::DeploymentHandler->new({ + schema => $schema, + schema_version => '' . $schema->schema_version, + sql_translator_args => { add_drop_table => 0, quote_identifiers => 1 }, + databases => [], + ignore_ddl => 1, + }); + +$dh->upgrade; |
