jive sql

# $RCSfile: Jive_mysql.sql,v $
# $Revision: 1.1.1.1 $
# $Date: 2002/09/09 13:50:34 $

CREATE TABLE jiveForum (
  forumID               BIGINT NOT NULL,
  name                  VARCHAR(255) UNIQUE NOT NULL,
  description           TEXT,
  modDefaultThreadVal   BIGINT NOT NULL,
  modMinThreadVal       BIGINT NOT NULL,
  modDefaultMsgVal      BIGINT NOT NULL,
  modMinMsgVal          BIGINT NOT NULL,
  modifiedDate          VARCHAR(15) NOT NULL,
  creationDate          VARCHAR(15) NOT NULL,
  PRIMARY KEY           (forumID),
  INDEX jiveForum_name_idx    (name(10))
);

CREATE TABLE jiveForumProp (
  forumID       BIGINT NOT NULL,
  name          VARCHAR(100) NOT NULL,
  propValue     TEXT NOT NULL,
  PRIMARY KEY   (forumID,name)
);

CREATE TABLE jiveThread (
  threadID          BIGINT NOT NULL,
  forumID           BIGINT NOT NULL,
  rootMessageID     BIGINT NOT NULL,
  modValue          BIGINT NOT NULL,
  rewardPoints      INT NOT NULL,
  creationDate      VARCHAR(15) NOT NULL,
  modifiedDate      VARCHAR(15) NOT NULL,
  PRIMARY KEY       (threadID),
  INDEX jiveThread_forumID_idx (forumID),
  INDEX jiveThread_modValue_idx (modValue),
  INDEX jiveThread_cDate_idx   (creationDate),
  INDEX jiveThread_mDate_idx   (modifiedDate)
);

CREATE TABLE jiveThreadProp (
  threadID      BIGINT NOT NULL,
  name          VARCHAR(100) NOT NULL,
  propValue     TEXT NOT NULL,
  PRIMARY KEY   (threadID,name)
);

CREATE TABLE jiveMessage (
  messageID             BIGINT NOT NULL,
  parentMessageID       BIGINT NULL,
  threadID              BIGINT NOT NULL,
  forumID               BIGINT NOT NULL,
  userID                BIGINT NULL,
  subject               VARCHAR(255),
  body                  TEXT,
  modValue              BIGINT NOT NULL,
  rewardPoints          INT NOT NULL,
  creationDate          VARCHAR(15) NOT NULL,
  modifiedDate          VARCHAR(15) NOT NULL,
  PRIMARY KEY           (messageID),
  INDEX jiveMessage_threadID_idx  (threadID),
  INDEX jiveMessage_forumID_idx   (forumID),
  INDEX jiveMessage_userID_idx    (userID),
  INDEX jiveMessage_modValue_idx  (modValue),
  INDEX jiveMessage_cDate_idx     (creationDate),
  INDEX jiveMessage_mDate_idx     (modifiedDate)
);

CREATE TABLE jiveMessageProp (
  messageID    BIGINT NOT NULL,
  name         VARCHAR(100) NOT NULL,
  propValue    TEXT NOT NULL,
  PRIMARY KEY  (messageID,name)
);

CREATE TABLE jiveUser (
  userID          BIGINT NOT NULL,
  username        VARCHAR(30) UNIQUE NOT NULL,
  passwordHash    VARCHAR(32) NOT NULL,
  name            VARCHAR(100),
  nameVisible     INT NOT NULL,
  email           VARCHAR(100) NOT NULL,
  emailVisible    INT NOT NULL,
  rewardPoints    INT NOT NULL,
  creationDate    VARCHAR(15) NOT NULL,
  modifiedDate    VARCHAR(15) NOT NULL,
  PRIMARY KEY     (userID),
  INDEX jiveUser_username_idx (username(10)),
  INDEX jiveUser_cDate_idx    (creationDate)
);

CREATE TABLE jiveUserPerm (
  forumID      BIGINT NULL,
  userID       BIGINT NULL,
  userType     INT NOT NULL,
  permission   INT NOT NULL,
  INDEX jiveUserPerm_forumID_idx (forumID),
  INDEX jiveUserPerm_userID_idx  (userID)
);

CREATE TABLE jiveUserProp (
  userID        BIGINT NOT NULL,
  name          VARCHAR(100) NOT NULL,
  propValue     TEXT NOT NULL,
  PRIMARY KEY   (userID,name)
);

CREATE TABLE jiveGroup (
  groupID       BIGINT NOT NULL,
  name          VARCHAR(50) NOT NULL,
  description   VARCHAR(255),
  creationDate  VARCHAR(15) NOT NULL,
  modifiedDate  VARCHAR(15) NOT NULL,
  PRIMARY KEY   (groupID),
  INDEX jiveGroup_name_idx  (name(10)),
  INDEX jiveGroup_cDate_idx (creationDate)
);

CREATE TABLE jiveGroupPerm (
  forumID      BIGINT NOT NULL,
  groupID      BIGINT NOT NULL,
  permission   INT NOT NULL,
  INDEX jiveGroupPerm_forumID_idx  (forumID),
  INDEX jiveGroupPerm_groupID_idx  (groupID)
);

CREATE TABLE jiveGroupProp (
  groupID       BIGINT NOT NULL,
  name          VARCHAR(100) NOT NULL,
  propValue     TEXT NOT NULL,
  PRIMARY KEY   (groupID,name)
);

CREATE TABLE jiveGroupUser (
  groupID        BIGINT NOT NULL,
  userID         BIGINT NOT NULL,
  administrator  INT NOT NULL,
  PRIMARY KEY   (groupID,userID)
);

CREATE TABLE jiveID (
  idType        INT NOT NULL,
  id            BIGINT NOT NULL,
  PRIMARY KEY   (idType)
);

CREATE TABLE jiveModeration (
  objectID    BIGINT NOT NULL,
  objectType  BIGINT NOT NULL,
  userID      BIGINT NULL,
  modDate     VARCHAR(15) NOT NULL,
  modValue    BIGINT NOT NULL,
  INDEX jiveModeration_objectID_idx (objectID),
  INDEX jiveModeration_objectType_idx (objectType),
  INDEX jiveModeration_userID_idx (userID)
);

CREATE TABLE jiveWatch (
  userID            BIGINT NOT NULL,
  forumID           BIGINT NOT NULL,
  threadID          BIGINT NOT NULL,
  watchType         BIGINT NOT NULL,
  expirable         BIGINT NOT NULL,
  PRIMARY KEY (userID,threadID,watchType),
  INDEX jiveWatch_userID_idx (userID),
  INDEX jiveWatch_forumID_idx (forumID),
  INDEX jiveWatch_threadID_idx (threadID),
  INDEX jiveWatch_type_idx (watchType)
);

CREATE TABLE jiveReward (
  userID          BIGINT NOT NULL,
  creationDate    VARCHAR(15) NOT NULL,
  rewardPoints    BIGINT NOT NULL,
  messageID       BIGINT NULL,
  threadID        BIGINT NULL,
  INDEX jiveReward_userID_idx (userID),
  INDEX jiveReward_creationDate_idx (creationDate),
  INDEX jiveReward_messageID_idx (messageID),
  INDEX jiveReward_threadID_idx (threadID)
);


# Finally, insert default table values.

# Unique ID entry for forum, thread, messages, user, group.
# The User ID entry starts at 2 (after admin user entry).
insert into jiveID values (0, 1);
insert into jiveID values (1, 1);
insert into jiveID values (2, 1);
insert into jiveID values (3, 2);
insert into jiveID values (4, 1);

# Entry for admin user -- password is "admin"
insert into jiveUser (userID,name,username,passwordHash,email,emailVisible,nameVisible,creationDate,modifiedDate,rewardPoints)
  values (1,'Administrator','admin','21232f297a57a5a743894a0e4a801fc3','[email protected]',1,1,'0','0',0);

insert into jiveUserPerm(forumID,userID,userType,permission) values (NULL,1,3,1);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章