From: jonathan vanasco Date: Wed, 8 Sep 2021 16:50:10 +0000 (-0400) Subject: Fixes: #5289 X-Git-Tag: rel_1_4_24~20^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4fa4c497512e4b4e311083d64ec8536d0230fe28;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Fixes: #5289 Clarify Foreign Key support on SQLite must be enabled before `MetaData.create_all` Change-Id: Ic41b86f736be21dd6fc890a915a2ffd572df73a4 --- diff --git a/lib/sqlalchemy/dialects/sqlite/base.py b/lib/sqlalchemy/dialects/sqlite/base.py index dc5ebc3f0c..08dfd56b1e 100644 --- a/lib/sqlalchemy/dialects/sqlite/base.py +++ b/lib/sqlalchemy/dialects/sqlite/base.py @@ -266,7 +266,8 @@ Constraint checking on SQLite has three prerequisites: * The SQLite library must be compiled *without* the SQLITE_OMIT_FOREIGN_KEY or SQLITE_OMIT_TRIGGER symbols enabled. * The ``PRAGMA foreign_keys = ON`` statement must be emitted on all - connections before use. + connections before use -- including the initial call to + :meth:`sqlalchemy.schema.MetaData.create_all`. SQLAlchemy allows for the ``PRAGMA`` statement to be emitted automatically for new connections through the usage of events::