add connect_call_use_foreign_keys for SQLite
Rafael Kitover [Wed, 17 Mar 2010 10:49:51 +0000 (10:49 +0000)]
lib/DBIx/Class/Storage/DBI/SQLite.pm

index d096d80..147324d 100644 (file)
@@ -62,6 +62,31 @@ sub deployment_statements {
 
 sub datetime_parser_type { return "DateTime::Format::SQLite"; } 
 
+=head2 connect_call_use_foreign_keys
+
+Used as:
+
+    on_connect_call => 'use_foreign_keys'
+
+In L<DBIx::Class::Storage::DBI/connect_info> to turn on foreign key (including
+cascading) support for recent versions of SQLite and L<DBD::SQLite>.
+
+Executes:
+
+  PRAGMA foreign_keys = ON 
+
+See L<http://www.sqlite.org/foreignkeys.html> for more information.
+
+=cut
+
+sub connect_call_use_foreign_keys {
+  my $self = shift;
+
+  $self->_do_query(
+    'PRAGMA foreign_keys = ON'
+  );
+}
+
 1;
 
 =head1 NAME