core (sqlite storage): do explicit delete to profile linked tables for deleteProfile
This commit is contained in:
parent
a3c15277bc
commit
1a16f085d0
1 changed files with 8 additions and 1 deletions
|
|
@ -174,9 +174,16 @@ class SqliteStorage(object):
|
|||
return failure
|
||||
|
||||
def delete(txn):
|
||||
del self.profiles[name]
|
||||
profile_id = self.profiles.pop(name)
|
||||
txn.execute("PRAGMA foreign_keys = ON")
|
||||
txn.execute("DELETE FROM profiles WHERE name = ?", (name,))
|
||||
# FIXME: the following queries should be done by the ON DELETE CASCADE
|
||||
# but it seems they are not, so we explicitly do them by security
|
||||
# this need more investigation
|
||||
txn.execute("DELETE FROM history WHERE profile_id = ?", (profile_id,))
|
||||
txn.execute("DELETE FROM param_ind WHERE profile_id = ?", (profile_id,))
|
||||
txn.execute("DELETE FROM private_ind WHERE profile_id = ?", (profile_id,))
|
||||
txn.execute("DELETE FROM private_ind_bin WHERE profile_id = ?", (profile_id,))
|
||||
return None
|
||||
|
||||
d = self.dbpool.runInteraction(delete)
|
||||
|
|
|
|||
Loading…
Reference in a new issue