summaryrefslogtreecommitdiff
path: root/autoimport.py
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2013-03-26 15:59:48 +0100
committerHelmut Grohne <helmut@subdivi.de>2013-03-26 15:59:48 +0100
commit88b0d1ed0809922b56f30e1ee99bc6db67af7f96 (patch)
treeb736dde6602dd0006cbb0efe490d28c42cb2dc3d /autoimport.py
parent68cf124ab5fba5f96364925e09226db5c2bbf028 (diff)
parent4326c4766a6e1fb30bdb6999922ad0620543fff0 (diff)
downloaddebian-dedup-88b0d1ed0809922b56f30e1ee99bc6db67af7f96.tar.gz
Merge branch schemachange
Diffstat (limited to 'autoimport.py')
-rwxr-xr-xautoimport.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/autoimport.py b/autoimport.py
index a7ea5ff..453a839 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,13 +38,10 @@ def main():
delpkgs = set(knownpkgs) - distpkgs
print("clearing packages %s" % " ".join(delpkgs))
- cur.execute("PRAGMA foreign_keys=1;")
- cur.executemany("DELETE FROM content WHERE package = ?;",
- ((pkg,) for pkg in delpkgs))
- cur.executemany("DELETE FROM dependency WHERE package = ?;",
- ((pkg,) for pkg in delpkgs))
cur.executemany("DELETE FROM package WHERE package = ?;",
((pkg,) for pkg in delpkgs))
+ # Tables content, dependency and sharing will also be pruned
+ # due to ON DELETE CASCADE clauses.
db.commit()
if __name__ == "__main__":