diff options
Diffstat (limited to 'src/libstore/schema.sql')
-rw-r--r-- | src/libstore/schema.sql | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/libstore/schema.sql b/src/libstore/schema.sql new file mode 100644 index 000000000..e24132943 --- /dev/null +++ b/src/libstore/schema.sql @@ -0,0 +1,27 @@ +pragma foreign_keys = on; + +create table if not exists ValidPaths ( + path text primary key not null, + hash text not null, + registrationTime integer not null +); + +create table if not exists Refs ( + referrer text not null, + reference text 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 +); + +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); |