From c2a2da69667c2c18e26aabe757bd13ee6283b251 Mon Sep 17 00:00:00 2001
From: Evan Prodromou <evan@prodromou.name>
Date: Tue, 19 Aug 2008 18:12:14 -0400
Subject: add database tables for foreign services

darcs-hash:20080819221214-84dde-15683b1e146b9e29064aa8ae04bc7daebfaf2e92.gz
---
 db/laconica.sql | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

(limited to 'db/laconica.sql')

diff --git a/db/laconica.sql b/db/laconica.sql
index 16faf53a0..da2a1c89d 100644
--- a/db/laconica.sql
+++ b/db/laconica.sql
@@ -251,3 +251,38 @@ create table notice_tag (
     constraint primary key (tag, notice_id),
     index notice_tag_created_idx (created)
 ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin;
+
+/* Synching with foreign services */
+
+create table foreign_service (
+     id int not null primary key comment 'numeric key for service',
+     name varchar(32) not null unique key comment 'name of the service',
+     description varchar(255) comment 'description',
+     created datetime not null comment 'date this record was created',
+     modified timestamp comment 'date this record was modified'
+) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin;
+
+create table foreign_user (
+     id int not null comment 'unique numeric key on foreign service',
+     service int not null comment 'foreign key to service' references foreign_service(id),
+     uri varchar(255) not null unique key comment 'identifying URI',
+     nickname varchar(255) comment 'nickname on foreign service',
+     user_id int comment 'link to user on this system, if exists' references user (id), 
+     credentials varchar(255) comment 'authc credentials, typically a password',
+     created datetime not null comment 'date this record was created',
+     modified timestamp comment 'date this record was modified',
+     
+     constraint primary key (id, service),
+     index foreign_user_user_id_idx (user_id)
+) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin;
+
+create table foreign_subscription (
+     service int not null comment 'service where relationship happens' references foreign_service(id),
+     subscriber int not null comment 'subscriber on foreign service' references foreign_user (id),
+     subscribed int not null comment 'subscribed user' references foreign_user (id),
+     created datetime not null comment 'date this record was created',
+     
+     constraint primary key (service, subscriber, subscribed),
+     index foreign_subscription_subscriber_idx (subscriber),
+     index foreign_subscription_subscribed_idx (subscribed)
+) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin;
-- 
cgit v1.2.3-54-g00ecf

