}
print "creating tables...\n";
-
- $dbh->do(qq{
+
+ $dbh->do( qq{
create table hosts (
ID SERIAL PRIMARY KEY,
name VARCHAR(30) NOT NULL,
IP VARCHAR(15)
);
- });
-
- $dbh->do(qq{
+
create table shares (
ID SERIAL PRIMARY KEY,
hostID INTEGER NOT NULL references hosts(id),
name VARCHAR(30) NOT NULL,
share VARCHAR(200) NOT NULL
);
- });
- $dbh->do(qq{
create table dvds (
ID SERIAL PRIMARY KEY,
num INTEGER NOT NULL,
name VARCHAR(255) NOT NULL,
mjesto VARCHAR(255)
);
- });
-
- $dbh->do(qq{
+
create table backups (
id serial,
hostID INTEGER NOT NULL references hosts(id),
inc_deleted boolean default false,
PRIMARY KEY(id)
);
- });
- $dbh->do(qq{
create table files (
ID SERIAL,
shareID INTEGER NOT NULL references shares(id),
size bigint NOT NULL,
primary key(id)
);
- });
-
- $dbh->do( qq{
create table archive (
id serial,
dvd_nr int not null,
date timestamp default now(),
primary key(id)
);
- }
- );
- $dbh->do( qq{
- create table archive_backup
- (
+ create table archive_backup (
archive_id int not null references archive(id) on delete cascade,
backup_id int not null references backups(id),
primary key(archive_id, backup_id)
);
+
+ create table archive_burned (
+ archive_id int references archive(id),
+ date date default now(),
+ iso_size int default -1
+ );
+
});
print "creating indexes: ";
files:date
files:size
archive:dvd_nr
+ archive_burned:archive_id
)) {
do_index($index);
}