53 lines
1.5 KiB
SQL
53 lines
1.5 KiB
SQL
CREATE TABLE websites (
|
|
Id integer primary key autoincrement,
|
|
ShortId integer UNIQUE NOT NULL,
|
|
Name varchar(256) NOT NULL,
|
|
SiteUrl varchar(512) NOT NULL,
|
|
AuthorName varchar(512) NOT NULL,
|
|
UserId integer NOT NULL,
|
|
Created datetime NOT NULL,
|
|
Deleted datetime,
|
|
FOREIGN KEY (UserId) REFERENCES users(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT
|
|
);
|
|
|
|
CREATE TABLE guestbooks (
|
|
Id integer primary key autoincrement,
|
|
ShortId integer UNIQUE NOT NULL,
|
|
WebsiteId integer UNIQUE NOT NULL,
|
|
UserId integer NOT NULL,
|
|
Created datetime NOT NULL,
|
|
Deleted datetime,
|
|
IsActive boolean NOT NULL DEFAULT TRUE,
|
|
FOREIGN KEY (UserId) REFERENCES users(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT
|
|
FOREIGN KEY (WebsiteId) REFERENCES websites(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT
|
|
);
|
|
|
|
CREATE TABLE guestbook_comments (
|
|
Id integer primary key autoincrement,
|
|
ShortId integer UNIQUE NOT NULL,
|
|
GuestbookId integer NOT NULL,
|
|
ParentId integer,
|
|
AuthorName varchar(256) NOT NULL,
|
|
AuthorEmail varchar(256) NOT NULL,
|
|
AuthorSite varchar(256),
|
|
CommentText text NOT NULL,
|
|
PageUrl varchar(256),
|
|
Created datetime NOT NULL,
|
|
IsPublished boolean NOT NULL DEFAULT TRUE,
|
|
Deleted datetime,
|
|
FOREIGN KEY (GuestbookId)
|
|
REFERENCES guestbooks(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT,
|
|
FOREIGN KEY (ParentId)
|
|
REFERENCES guestbook_comments(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT
|
|
);
|