SQL setup for groups.
This commit is contained in:
parent
125f05563b
commit
51064cc14a
|
@ -368,3 +368,60 @@ create table profile_block (
|
|||
constraint primary key (blocker, blocked)
|
||||
|
||||
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
|
||||
create table user_group (
|
||||
|
||||
id integer auto_increment primary key comment 'unique identifier',
|
||||
|
||||
nickname varchar(64) unique key comment 'nickname for addressing',
|
||||
fullname varchar(255) comment 'display name',
|
||||
homepage varchar(255) comment 'URL, cached so we dont regenerate',
|
||||
description varchar(140) comment 'descriptive biography',
|
||||
location varchar(255) comment 'related physical location, if any',
|
||||
|
||||
original_logo varchar(255) comment 'original size logo',
|
||||
homepage_logo varchar(255) comment 'homepage (profile) size logo',
|
||||
stream_logo varchar(255) comment 'stream-sized logo',
|
||||
mini_logo varchar(255) comment 'mini logo',
|
||||
|
||||
created datetime not null comment 'date this record was created',
|
||||
modified timestamp comment 'date this record was modified',
|
||||
|
||||
index user_group_nickname_idx (nickname)
|
||||
|
||||
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
|
||||
create table group_member (
|
||||
|
||||
group_id integer not null comment 'foreign key to user_group' references user_group (id),
|
||||
profile_id integer not null comment 'foreign key to profile table' references profile (id),
|
||||
is_admin boolean default false comment 'is this user an admin?',
|
||||
|
||||
created datetime not null comment 'date this record was created',
|
||||
modified timestamp comment 'date this record was modified',
|
||||
|
||||
constraint primary key (group_id, profile_id)
|
||||
|
||||
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
|
||||
create table related_group (
|
||||
|
||||
group_id integer not null comment 'foreign key to user_group' references user_group (id),
|
||||
related_group_id integer not null comment 'foreign key to user_group' references user_group (id),
|
||||
|
||||
created datetime not null comment 'date this record was created',
|
||||
|
||||
constraint primary key (group_id, related_group_id)
|
||||
|
||||
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
|
||||
create table group_inbox (
|
||||
group_id integer not null comment 'group receiving the message' references user_group (id),
|
||||
notice_id integer not null comment 'notice received' references notice (id),
|
||||
created datetime not null comment 'date the notice was created',
|
||||
|
||||
constraint primary key (group_id, notice_id),
|
||||
index group_inbox_created_idx (created)
|
||||
|
||||
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user