Added comment about DBICDH_TRACE to see whats happening
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / Manual / Intro.pod
index a214e73..56aef61 100644 (file)
@@ -44,20 +44,32 @@ Our first script, C<install.pl> reads our schema file and creates the tables
 in the database.
 
  #!/usr/bin/env perl
+
  use strict;
  use warnings;
  use aliased 'DBIx::Class::DeploymentHandler' => 'DH';
+ use Getopt::Long;
  use FindBin;
  use lib "$FindBin::Bin/../lib";
  use MyDatabase::Main;
- my $schema = MyDatabase::Main->connect('dbi:SQLite:mydb');
 
- my $dh = DH->new({
-      schema              => $schema,
-      script_directory    => "$FindBin::Bin/dbicdh",
-      databases           => 'SQLite',
-      sql_translator_args => { add_drop_table => 0 },
- });
+ my $force_overwrite = 0;
+
+ unless ( GetOptions( 'force_overwrite!' => \$force_overwrite ) ) {
+     die "Invalid options";
+ }
+
+ my $schema = MyDatabase::Main->connect('dbi:SQLite:mydb.db');
+
+ my $dh = DH->new(
+     {
+         schema              => $schema,
+         script_directory    => "$FindBin::Bin/../dbicdh",
+         databases           => 'SQLite',
+         sql_translator_args => { add_drop_table => 0 },
+         force_overwrite     => $force_overwrite,
+     }
+ );
 
  $dh->prepare_install;
  $dh->install;
@@ -76,6 +88,10 @@ Running C<install.pl> should create the following:
          `-- 1
              `-- 001-auto.yml
 
+You may wish to turn on L<debug logging|DBIx::Class::DeploymentHandler/"LOGGING"> 
+before running this script by setting the environment variable C<DBICDH_TRACE> to
+C<1>.
+
 =head3 001-auto.sql
 
 DBIx::Class::DeploymentHandler automatically generates SQL from our schema
@@ -92,15 +108,15 @@ 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/deploy/1/create_artists.pl>:
 
- sub {
-    my $schema = shift;
-    $schema->resultset('User')->populate([
-       ['name'],
-       ['Marillion'],
-       ['The Moutain Goats'],
-       ['Ladyhawke'],
-    ]);
- };
+  sub {
+     my $schema = shift;
+     $schema->resultset('Artist')->populate([
+        ['artistid', 'name'],
+        [1,          'Marillion'],
+        [2,          'The Moutain Goats'],
+        [3,          'Ladyhawke'],
+     ]);
+  };
 
 =head1 Upgrading