forked from GNUsocial/gnu-social
		
	
		
			
	
	
		
			108 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			MySQL
		
	
	
	
	
	
		
		
			
		
	
	
			108 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			MySQL
		
	
	
	
	
	
| 
								 | 
							
								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;
							 |