summaryrefslogtreecommitdiff
path: root/autoimport.py
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2013-03-07 08:43:15 +0100
committerHelmut Grohne <helmut@subdivi.de>2013-03-07 08:43:15 +0100
commitac4c52c7a4501e90ed53f3ca5780bec4551a8c9f (patch)
treeb6d065fd8386b26ea1b642dfc79b086386a543b3 /autoimport.py
parentd6638c18872db382a8d1045b6de1f9438c8a25fa (diff)
downloaddebian-dedup-ac4c52c7a4501e90ed53f3ca5780bec4551a8c9f.tar.gz
enable enforcing foreign keys
Diffstat (limited to 'autoimport.py')
-rwxr-xr-xautoimport.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/autoimport.py b/autoimport.py
index a7ea5ff..bc2c6aa 100755
--- a/autoimport.py
+++ b/autoimport.py
@@ -14,6 +14,7 @@ def main():
urlbase = sys.argv[1]
db = sqlite3.connect("test.sqlite3")
cur = db.cursor()
+ cur.execute("PRAGMA foreign_keys = ON;")
cur.execute("SELECT package, version FROM package;")
knownpkgs = dict((row[0], row[1]) for row in cur.fetchall())
@@ -37,7 +38,10 @@ def main():
delpkgs = set(knownpkgs) - distpkgs
print("clearing packages %s" % " ".join(delpkgs))
- cur.execute("PRAGMA foreign_keys=1;")
+ cur.executemany("DELETE FROM sharing WHERE package1 = ?",
+ ((pkg,) for pkg in delpkgs))
+ cur.executemany("DELETE FROM sharing WHERE package2 = ?",
+ ((pkg,) for pkg in delpkgs))
cur.executemany("DELETE FROM content WHERE package = ?;",
((pkg,) for pkg in delpkgs))
cur.executemany("DELETE FROM dependency WHERE package = ?;",