Our first script, C<install.pl> reads our schema file and creates the tables
in the database.
- #!perl
+ #!/usr/bin/env perl
use strict;
use warnings;
use aliased 'DBIx::Class::DeploymentHandler' => 'DH';
To truly take advantage of all DBIx::Class::DeploymentHandler offers, you
should probably be using it for population. To do that all you need to do
-is create a file called C<dbicdh/_common/install/1/create_artists.pl>:
-
- sub {
- my $schema = shift;
- $schema->resultset('User')->populate([
- ['name'],
- ['Marillion'],
- ['The Moutain Goats'],
- ['Ladyhawke'],
- ]);
- };
+is create a file called C<dbicdh/_common/deploy/1/create_artists.pl>:
+
+ sub {
+ my $schema = shift;
+ $schema->resultset('Artist')->populate([
+ ['artistid', 'name'],
+ [1, 'Marillion'],
+ [2, 'The Moutain Goats'],
+ [3, 'Ladyhawke'],
+ ]);
+ };
=head1 Upgrading
it is not nullable and has no default, what will the existing rows contain
for that column?
+Now you need to modify the schema version in your MyDatabase::Main file to
+tell DBIx::Class::DeploymentHandler the new schema version number. You will
+want to remember the earlier advice about integer version numbers.
+
+ our $VERSION = 2;
+
So here is our next script, C<upgrade.pl>:
- #!perl
+ #!/usr/bin/env perl
use strict;
use warnings;
use aliased 'DBIx::Class::DeploymentHandler' => 'DH';