DBIx-OnlineDDL
view release on metacpan or search on metacpan
lib/DBIx/OnlineDDL/Helper/SQLite.pm view on Meta::CPAN
sub post_connection_stmts {
my $self = shift;
my $db_timeouts = $self->db_timeouts;
my @stmts = (
# See FK comment in MySQL module. FKs in SQLite are a per-connection enabled
# feature, so this is always a "session" command.
'PRAGMA foreign_keys = OFF',
# DB timeouts
'PRAGMA busy_timeout = '.int($db_timeouts->{lock_file} * 1_000), # busy_timeout uses ms
);
# SQLite version 3.25.0 fixes table renames to also rename references to the table,
# ie: child FKs. Since SQLite doesn't yet have an DDL statement for renaming the FKs
# back to the old name, setting this PRAGMA variable is the only option.
#
# Also, while this change was introduced in 3.25.0, it seems to only manifest itself
# when the driver reports version 3.26.0, possibly due to how their production
# releases work.
push @stmts, 'PRAGMA legacy_alter_table = ON' if $self->mmver >= 3.026;
( run in 0.250 second using v1.01-cache-2.11-cpan-87723dcf8b7 )