forked from lix-project/lix
dbddac0fe9
to make the Refs table more space-efficient. For instance, this reduces the size of the database on my laptop from 93 MiB to 18 MiB. (It was 72 MiB with the old schema on an ext3 disk with a 1 KiB block size.)
25 lines
774 B
SQL
25 lines
774 B
SQL
pragma foreign_keys = on;
|
|
|
|
create table if not exists ValidPaths (
|
|
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 integer not null,
|
|
reference integer not null,
|
|
primary key (referrer, reference),
|
|
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
|
|
);
|