forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			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(255) 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; |