aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/schema.sql
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/schema.sql')
-rw-r--r--src/libstore/schema.sql21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/libstore/schema.sql b/src/libstore/schema.sql
index e24132943..3c07978fc 100644
--- a/src/libstore/schema.sql
+++ b/src/libstore/schema.sql
@@ -1,27 +1,24 @@
pragma foreign_keys = on;
create table if not exists ValidPaths (
- path text primary key not null,
+ id integer primary key autoincrement not null,
+ path text unique not null,
hash text not null,
registrationTime integer not null
);
create table if not exists Refs (
- referrer text not null,
- reference text not null,
+ referrer integer not null,
+ reference integer not null,
primary key (referrer, reference),
- foreign key (referrer) references ValidPaths(path)
- on delete cascade
- deferrable initially deferred,
- foreign key (reference) references ValidPaths(path)
- on delete restrict
- deferrable initially deferred
+ foreign key (referrer) references ValidPaths(id) on delete cascade,
+ foreign key (reference) references ValidPaths(id) on delete restrict
);
+create index if not exists IndexReferrer on Refs(referrer);
+create index if not exists IndexReference on Refs(reference);
+
create table if not exists FailedDerivations (
path text primary key not null,
time integer not null
);
-
-create index IndexReferrer on Refs(referrer);
-create index IndexReference on Refs(reference);