From e76489b1c0ecd6eab7ff36c1abd6dbff3c754964 Mon Sep 17 00:00:00 2001 From: Jacob Hinkle Date: Tue, 11 Oct 2022 13:04:57 -0400 Subject: [PATCH] Fix missing store table row after Store.init() --- src/nancy/schema/version0.sql | 2 +- src/nancy/store.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/nancy/schema/version0.sql b/src/nancy/schema/version0.sql index 69bbb11..da0e5f5 100644 --- a/src/nancy/schema/version0.sql +++ b/src/nancy/schema/version0.sql @@ -88,7 +88,7 @@ CREATE TABLE store ( -- We do not support renaming files. CREATE TABLE filedir ( sha256 TEXT PRIMARY KEY NOT NULL, - store TEXT NOT NULL, + store TEXT NOT NULL REFERENCES store ON UPDATE CASCADE, name TEXT, -- only a filename, not a path parent TEXT REFERENCES filedir ON UPDATE CASCADE, UNIQUE(store, name, parent) diff --git a/src/nancy/store.py b/src/nancy/store.py index f3deda1..ddb6b47 100644 --- a/src/nancy/store.py +++ b/src/nancy/store.py @@ -95,10 +95,13 @@ class Store: conn.commit() cur.close() - new_uuid = str(uuid.uuid4()) - new_store = cls(directory=directory, conn=conn, uuid=new_uuid) + new_store = cls(directory=directory, conn=conn, uuid=str(uuid.uuid4())) # generate a new UUID for this store with new_store.committing() as cur: + cur.execute( + "INSERT INTO store VALUES (?)", + (new_store.uuid,), + ) cur.execute( 'INSERT INTO local_metadata VALUES ("store_uuid", ?)', (new_store.uuid,),