+BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
+use DBIx::Class::Optional::Dependencies -skip_all_without => 'deploy';
+
use strict;
use warnings;
use Test::More;
-use lib qw(t/lib);
-use DBICTest;
-
+use Test::Warn;
use Scalar::Util 'blessed';
-BEGIN {
- require DBIx::Class;
- plan skip_all =>
- 'Test needs ' . DBIx::Class::Optional::Dependencies->req_missing_for ('deploy')
- unless DBIx::Class::Optional::Dependencies->req_ok_for ('deploy')
-}
+
+use DBICTest;
my $custom_deployment_statements_called = 0;
return $self->next::method(@_);
}
-
# Check deployment statements ctx sensitivity
{
- my $schema = DBICTest->init_schema (no_deploy => 1);
- my $not_first_table_creation_re = qr/CREATE TABLE fourkeys_to_twokeys/;
+ my $schema = DBICTest->init_schema (no_deploy => 1, quote_names => 1);
+ my $not_first_table_creation_re = qr/CREATE TABLE "fourkeys_to_twokeys"/;
my $statements = $schema->deployment_statements;
like (
{
my $deploy_hook_called = 0;
$custom_deployment_statements_called = 0;
+ my $sqlt_type = $schema->storage->sqlt_type;
# replace the sqlt calback with a custom version ading an index
$schema->source('Track')->sqlt_deploy_callback(sub {
is (
$sqlt_table->schema->translator->producer_type,
- join ('::', 'SQL::Translator::Producer', $schema->storage->sqlt_type),
+ join ('::', 'SQL::Translator::Producer', $sqlt_type),
'Production type passed to translator object',
);
- if ($schema->storage->sqlt_type eq 'SQLite' ) {
+ if ($sqlt_type eq 'SQLite' ) {
$sqlt_table->add_index( name => 'track_title', fields => ['title'] )
or die $sqlt_table->error;
}
my $translator = SQL::Translator->new(
parser_args => {
- 'DBIx::Schema' => $schema,
+ dbic_schema => $schema,
},
producer_args => {},
);
-{
- my $warn = '';
- local $SIG{__WARN__} = sub { $warn = shift };
-
+warnings_exist {
my $relinfo = $schema->source('Artist')->relationship_info ('cds');
local $relinfo->{attrs}{on_delete} = 'restrict';
-
$translator->parser('SQL::Translator::Parser::DBIx::Class');
$translator->producer('SQLite');
ok($output, "SQLT produced someoutput")
or diag($translator->error);
-
- like (
- $warn,
- qr/SQLT attribute .+? was supplied for relationship .+? which does not appear to be a foreign constraint/,
- 'Warn about dubious on_delete/on_update attributes',
- );
-}
+} [
+ (qr/SQLT attribute .+? was supplied for relationship .+? which does not appear to be a foreign constraint/) x 2
+], 'Warn about dubious on_delete/on_update attributes';
# Note that the constraints listed here are the only ones that are tested -- if
# more exist in the Schema than are listed here and all listed constraints are