On 8/6/15 5:56 PM, Jinghui Niu wrote:
Hi Mike. Thanks for your reply. That's great news!
Just want to clarify on which level such constraints will be placed?
sqlalchemy or the underlying database?
So now if I want to use passive delete, which relies solely on the
underlying SQLite database's constraints not the sqlalchemy's, I just
need to set the foreign key argument like this:
|
ForeignKey('items.record_id',ondelete='CASCADE'))
|
when I declare the classes. This will set the constraint on the
underlying database. Is my understanding correct?
yes the ondelete key at that level is for the DDL emitted to the
database when you emit metadata.create_all(), assuming the table is not
there yet.
On Thursday, August 6, 2015 at 2:48:26 PM UTC-7, Michael Bayer wrote:
On 8/6/15 5:31 PM, Jinghui Niu wrote:
I know you can set this constraint if you are directly dealing
with sqlite3, but how can I achieve this database level setting
from within sqlalchemy?
The documentation reads:
"Note that these clauses are not supported on SQLite, and
require InnoDB tables when used with MySQL. They may also not
be supported on other databases."
So is there a way to turn this feature on from within sqlalchemy?
Thanks.
that documentation is probably out of date. The ON DELETE CASCADE
directive will emit on SQLite like on any other backend. You
would need to enable foreign key support on a per-connection basis
for sqlite3 in order for them to take effect:
http://docs.sqlalchemy.org/en/rel_1_0/dialects/sqlite.html#foreign-key-support
<http://docs.sqlalchemy.org/en/rel_1_0/dialects/sqlite.html#foreign-key-support>
--
You received this message because you are subscribed to the
Google Groups "sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to sqlalchemy+...@googlegroups.com <javascript:>.
To post to this group, send email to sqlal...@googlegroups.com
<javascript:>.
Visit this group at http://groups.google.com/group/sqlalchemy
<http://groups.google.com/group/sqlalchemy>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google
Groups "sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to sqlalchemy+unsubscr...@googlegroups.com
<mailto:sqlalchemy+unsubscr...@googlegroups.com>.
To post to this group, send email to sqlalchemy@googlegroups.com
<mailto:sqlalchemy@googlegroups.com>.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.