emailnotifyfav integer default 1 /* comment 'Notify by email of favorites' */,
emailnotifynudge integer default 1 /* comment 'Notify by email of nudges' */,
emailnotifymsg integer default 1 /* comment 'Notify by email of direct messages' */,
- emailnotifyattn integer default 1 /* command 'Notify by email of @-replies' */,
+ emailnotifyattn integer default 1 /* command 'Notify by email of @-replies' */,
emailmicroid integer default 1 /* comment 'whether to publish email microid' */,
language varchar(50) /* comment 'preferred language' */,
timezone varchar(50) /* comment 'timezone' */,
uri varchar(255) unique /* comment 'universally unique identifier, usually a tag URI' */,
autosubscribe integer default 0 /* comment 'automatically subscribe to users who subscribe to us' */,
urlshorteningservice varchar(50) default 'ur1.ca' /* comment 'service to use for auto-shortening URLs' */,
- inboxed integer default 0 /* comment 'has an inbox been created for this user?' */,
+ inboxed integer default 0 /* comment 'has an inbox been created for this user?' */,
design_id integer /* comment 'id of a design' */references design(id),
viewdesigns integer default 1 /* comment 'whether to view user-provided designs'*/,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
nickname varchar(255) /* comment 'nickname on foreign service' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
-
+
primary key (id, service)
);
service int not null /* comment 'foreign key to service' */ references foreign_service (id),
credentials varchar(255) /* comment 'authc credentials, typically a password' */,
noticesync int not null default 1 /* comment 'notice synchronisation, bit 1 = sync outgoing, bit 2 = sync incoming, bit 3 = filter local replies' */,
- friendsync int not null default 2 /* comment 'friend synchronisation, bit 1 = sync outgoing, bit 2 = sync incoming */,
+ friendsync int not null default 2 /* comment 'friend synchronisation, bit 1 = sync outgoing, bit 2 = sync incoming */,
profilesync int not null default 1 /* comment 'profile synchronization, bit 1 = sync outgoing, bit 2 = sync incoming' */,
last_noticesync timestamp default null /* comment 'last time notices were imported' */,
last_friendsync timestamp default null /* comment 'last time friends were imported' */,
subscriber int not null /* comment 'subscriber on foreign service' */ ,
subscribed int not null /* comment 'subscribed user' */ ,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
-
+
primary key (service, subscriber, subscribed)
);
create index foreign_subscription_subscriber_idx on foreign_subscription using btree(subscriber);
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
source varchar(32) /* comment 'source of comment, like "web", "im", or "clientname"' */
-
+
);
create index message_from_idx on message using btree(from_profile);
create index message_to_idx on message using btree(to_profile);
mini_logo varchar(255) /* comment 'mini logo' */,
design_id integer /*comment 'id of a design' */ references design(id),
-
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */
);
create index group_inbox_created_idx on group_inbox using btree(created);
-
/*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,
+ 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'*/
file_id bigint default nextval('file_oembed_seq') primary key /* comment 'unique identifier' */,
version varchar(20),
type varchar(20),
- mimetype varchar(50),
+ mimetype varchar(50),
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)
+ 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,
+ 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
+ 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,
+ file_id bigint,
+ post_id bigint,
primary key (file_id, post_id)
);
id varchar(32) primary key /* comment 'session ID'*/,
session_data text /* comment 'session data'*/,
created timestamp not null DEFAULT CURRENT_TIMESTAMP /* comment 'date this record was created'*/,
- modified integer DEFAULT extract(epoch from CURRENT_TIMESTAMP) /* comment 'date this record was modified'*/
+ modified integer DEFAULT extract(epoch from CURRENT_TIMESTAMP) /* comment 'date this record was modified'*/
);
create index session_modified_idx on session (modified);
CREATE index deleted_notice_profile_id_idx on deleted_notice (profile_id);
-
/* Textsearch stuff */
create index textsearch_idx on profile using gist(textsearch);
create trigger textsearchupdate before insert or update on profile for each row
execute procedure tsvector_update_trigger(textsearch, 'pg_catalog.english', nickname, fullname, location, bio, homepage);
-
create table config (
section varchar(32) /* comment 'configuration section'*/,
);
-
-
create table login_token (
user_id integer not null /* comment 'user owning this token'*/ references "user" (id),
token char(32) not null /* comment 'token useable for logging in'*/,
primary key (user_id)
);
-CREATE TABLE forward (
- profile_id integer not null /*comment 'profile who forwarded the notice'*/ references profile (id),
- notice_id integer not null /*comment 'notice they forwarded'*/ references notice (id),
- created timestamp not null /*comment 'date this record was created'*/ DEFAULT CURRENT_TIMESTAMP,
- PRIMARY KEY (profile_id, notice_id)
-);