Catalyst-Plugin-Authorization-Abilities
view release on metacpan or search on metacpan
t/lib/Schema/Utils.pm view on Meta::CPAN
sub init_schema {
my $self = shift;
my %args = @_;
my $schema = $self->schema;
# if add_drop_table has been specified, it will try to drop tables beforehand, but not "IF EXISTS",
# due to a BUG in SQL::Translator: https://rt.cpan.org/Ticket/Display.html?id=48688
# This will cause failures if the tables don't exist (i.e. when you first deploy):
# ("DBI Exception: DBD::$driver::db do failed: no such table")
#
#-mxh This is fragile because it relies on fixed output in the regex.
# Recently, the output changed to include a "\n" and broke this code.
# I added the s (and i) regex modifiers, but it still needs a better implementation.
local $SIG{__WARN__} = sub {
die @_ unless $_[0] =~ /no such table.*DROP TABLE/is;
};
# Check if database is already deployed by
# examining if the table User exists and has a record.
eval { $schema->resultset('User')->count };
if (!$@) {
( run in 1.464 second using v1.01-cache-2.11-cpan-364913b4093 )