svn commit: r264553 - user/des/fbp/db
Dag-Erling Smørgrav
des at FreeBSD.org
Wed Apr 16 20:56:41 UTC 2014
Author: des
Date: Wed Apr 16 20:56:41 2014
New Revision: 264553
URL: http://svnweb.freebsd.org/changeset/base/264553
Log:
SQL schema
Added:
user/des/fbp/db/fbp.sql
Added: user/des/fbp/db/fbp.sql
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ user/des/fbp/db/fbp.sql Wed Apr 16 20:56:41 2014 (r264553)
@@ -0,0 +1,64 @@
+--
+-- $FreeBSD$
+--
+
+drop table if exists persons cascade;
+create table persons (
+ id serial primary key,
+ login varchar not null,
+ realname varchar null,
+ password varchar not null default '*',
+ admin boolean not null default false,
+ active boolean not null default false,
+ unique(login)
+);
+insert into persons(login, realname, password, active, admin)
+ values('des', 'Dag-Erling Smørgrav', '*', true, true);
+insert into persons(login, realname, password, active, admin)
+ values('kenneth36', 'Kenneth (36)', '*', true, false);
+
+drop table if exists polls cascade;
+create table polls (
+ id serial primary key,
+ owner integer not null,
+ title varchar(64) not null,
+ starts timestamp not null,
+ ends timestamp not null,
+ synopsis varchar(256) not null,
+ long text not null,
+ unique(title),
+ foreign key(owner) references persons(id) on delete cascade on update cascade
+);
+
+drop table if exists questions cascade;
+create table questions (
+ id serial primary key,
+ poll integer not null,
+ rank integer not null,
+ short varchar(256) not null,
+ long text not null,
+ min_options integer not null default 1,
+ max_options integer not null default 1,
+ unique (poll, rank),
+ foreign key(poll) references polls(id) on delete cascade on update cascade
+);
+
+drop table if exists options cascade;
+create table options (
+ id serial primary key,
+ question integer not null,
+ label varchar(256) not null,
+ foreign key(question) references questions(id) on delete cascade on update cascade
+);
+
+drop table if exists votes cascade;
+create table votes (
+ id serial primary key,
+ voter integer not null,
+ question integer not null,
+ option integer not null,
+ unique(voter, option),
+ foreign key(voter) references persons(id) on delete cascade on update cascade,
+ foreign key(question) references questions(id) on delete cascade on update cascade,
+ foreign key(option) references options(id) on delete cascade on update cascade
+);
More information about the svn-src-user
mailing list