X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=t%2Flib%2FDBSchema.pm;h=3d01f23f1bc0260fa26d3c7a9d6487a0c7a100b2;hb=3e2e533e6a5cd7953a5e3c5c22e787da7e4451c1;hp=f44ee458fdfa6babc17915f54b7372ef01ed1776;hpb=16e1ee87cb8acef90879b5276b318201fe82c802;p=chaz%2Fp5-DBIx-Class-ResultSet-RecursiveUpdate diff --git a/t/lib/DBSchema.pm b/t/lib/DBSchema.pm index f44ee45..3d01f23 100644 --- a/t/lib/DBSchema.pm +++ b/t/lib/DBSchema.pm @@ -10,12 +10,28 @@ use DateTime; __PACKAGE__->load_namespaces( default_resultset_class => '+DBIx::Class::ResultSet::RecursiveUpdate' ); +sub tables_exist { + my ( $dsn, $user, $pass ) = @_; + my $dbh = DBI->connect($dsn, $user, $pass, ); + return $dbh->tables( '%', '%', 'dvd', ); +} + + sub get_test_schema { my ( $dsn, $user, $pass ) = @_; $dsn ||= 'dbi:SQLite:dbname=t/var/dvdzbr.db'; warn "testing $dsn"; my $schema = __PACKAGE__->connect( $dsn, $user, $pass, {} ); - $schema->deploy({ }); + my $deploy_attrs; + $deploy_attrs->{add_drop_table} = 1 if tables_exist( $dsn, $user, $pass ); + $schema->deploy( $deploy_attrs ); + $schema->populate('Personality', [ + [ qw/user_id / ], + [ '1'], + [ '2' ], + [ '3'], + ] + ); $schema->populate('User', [ [ qw/username name password / ], [ 'jgda', 'Jonas Alves', ''],