108 lines
3.3 KiB
PL/PgSQL
108 lines
3.3 KiB
PL/PgSQL
BEGIN;
|
|
create sequence design_seq;
|
|
create table design (
|
|
id bigint default nextval('design_seq') /* comment 'design ID'*/,
|
|
backgroundcolor integer /* comment 'main background color'*/ ,
|
|
contentcolor integer /*comment 'content area background color'*/ ,
|
|
sidebarcolor integer /*comment 'sidebar background color'*/ ,
|
|
textcolor integer /*comment 'text color'*/ ,
|
|
linkcolor integer /*comment 'link color'*/,
|
|
backgroundimage varchar(255) /*comment 'background image, if any'*/,
|
|
disposition int default 1 /*comment 'bit 1 = hide background image, bit 2 = display background image, bit 4 = tile background image'*/,
|
|
primary key (id)
|
|
);
|
|
alter table "user"
|
|
add column design_id integer references design(id);
|
|
alter table "user"
|
|
add column viewdesigns integer default 1;
|
|
|
|
alter table notice add column
|
|
conversation integer references notice (id);
|
|
|
|
create index notice_conversation_idx on notice(conversation);
|
|
|
|
alter table foreign_user
|
|
alter column id TYPE bigint;
|
|
|
|
alter table foreign_user alter column id set not null;
|
|
|
|
alter table foreign_link
|
|
alter column foreign_id TYPE bigint;
|
|
|
|
alter table user_group
|
|
add column design_id integer;
|
|
|
|
/*attachments and URLs stuff */
|
|
create sequence file_seq;
|
|
create table file (
|
|
id bigint default nextval('file_seq') primary key /* comment 'unique identifier' */,
|
|
url varchar(2047) unique,
|
|
mimetype varchar(50),
|
|
size integer,
|
|
title varchar(255),
|
|
date integer,
|
|
protected integer,
|
|
filename text /* comment 'if a local file, name of the file' */,
|
|
modified timestamp default CURRENT_TIMESTAMP /* comment 'date this record was modified'*/
|
|
);
|
|
|
|
create sequence file_oembed_seq;
|
|
create table file_oembed (
|
|
file_id bigint default nextval('file_oembed_seq') primary key /* comment 'unique identifier' */,
|
|
version varchar(20),
|
|
type varchar(20),
|
|
provider varchar(50),
|
|
provider_url varchar(255),
|
|
width integer,
|
|
height integer,
|
|
html text,
|
|
title varchar(255),
|
|
author_name varchar(50),
|
|
author_url varchar(255),
|
|
url varchar(255)
|
|
);
|
|
|
|
create sequence file_redirection_seq;
|
|
create table file_redirection (
|
|
url varchar(255) primary key,
|
|
file_id bigint,
|
|
redirections integer,
|
|
httpcode integer
|
|
);
|
|
|
|
create sequence file_thumbnail_seq;
|
|
create table file_thumbnail (
|
|
file_id bigint primary key,
|
|
url varchar(255) unique,
|
|
width integer,
|
|
height integer
|
|
);
|
|
create sequence file_to_post_seq;
|
|
create table file_to_post (
|
|
file_id bigint,
|
|
post_id bigint,
|
|
|
|
primary key (file_id, post_id)
|
|
);
|
|
|
|
|
|
create table group_block (
|
|
group_id integer not null /* comment 'group profile is blocked from' */ references user_group (id),
|
|
blocked integer not null /* comment 'profile that is blocked' */references profile (id),
|
|
blocker integer not null /* comment 'user making the block'*/ references "user" (id),
|
|
modified timestamp /* comment 'date of blocking'*/ ,
|
|
|
|
primary key (group_id, blocked)
|
|
);
|
|
|
|
create table group_alias (
|
|
|
|
alias varchar(64) /* comment 'additional nickname for the group'*/ ,
|
|
group_id integer not null /* comment 'group profile is blocked from'*/ references user_group (id),
|
|
modified timestamp /* comment 'date alias was created'*/,
|
|
primary key (alias)
|
|
|
|
);
|
|
create index group_alias_group_id_idx on group_alias (group_id);
|
|
|
|
COMMIT; |