CREATE TABLE fm_forums ( ForumID INT UNSIGNED NOT NULL AUTO_INCREMENT, FTitle CHAR(70) NOT NULL, FDescription TEXT, FTheadCount INT UNSIGNED NOT NULL DEFAULT 0, FPostCount INT UNSIGNED NOT NULL DEFAULT 0, FLastPostIdN INT UNSIGNED NOT NULL DEFAULT 0, FParentForumIdN INT UNSIGNED NOT NULL DEFAULT 0, FStatus TINYINT UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (ForumID), key (ForumID,FStatus) ); CREATE TABLE fm_theads ( TheadID INT UNSIGNED NOT NULL AUTO_INCREMENT, TForumIdN INT UNSIGNED NOT NULL, TPostIdN INT UNSIGNED NOT NULL, TPostCount INT UNSIGNED NOT NULL DEFAULT 0, TLastPostIdN INT UNSIGNED NOT NULL DEFAULT 1, TViewCount INT UNSIGNED NOT NULL DEFAULT 0, TRating FLOAT(3) NOT NULL DEFAULT 0.0, TRatingCountVotes INT UNSIGNED NOT NULL DEFAULT 0, TNewForumIdN INT UNSIGNED NOT NULL DEFAULT 0, TNewTheadIdN INT UNSIGNED NOT NULL DEFAULT 0, TDeletedDate DATE, TStatus TINYINT UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (TheadID), key (TheadID,TStatus) ); CREATE TABLE fm_posts ( PostID INT UNSIGNED NOT NULL AUTO_INCREMENT, PForumIdN INT UNSIGNED NOT NULL DEFAULT 0, PThedIdN INT UNSIGNED NOT NULL DEFAULT 0, PUserName CHAR(30), PUserIdN INT UNSIGNED NOT NULL, PUserEMail CHAR(60), PUserIP CHAR(15), PTitle CHAR(160), PText TEXT, PDate DATETIME, PEditUserIdN INT UNSIGNED NOT NULL DEFAULT 0, PEditDate DATETIME, PIsThedStart ENUM('0','1') NOT NULL DEFAULT '0', PNewForumIdN INT UNSIGNED NOT NULL DEFAULT 0, PNewThedIdN INT UNSIGNED NOT NULL DEFAULT 0, PUnique CHAR(32) NOT NULL, PStatus TINYINT UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (PostID), key (PostID,PStatus), key (PForumIdN), key (PThedIdN), UNIQUE INDEX (PUnique) ); CREATE TABLE fm_users ( UserID INT UNSIGNED NOT NULL AUTO_INCREMENT, UserFullName CHAR(30), UserLoginName CHAR(10) NOT NULL, UserPassword CHAR(16) NOT NULL, UserEMail CHAR(60) NOT NULL, UserROD CHAR(128), UserGender CHAR(1), UserAge CHAR(5), UserPic CHAR(128), UserSelfInfo Text, UJoinDate DATE NOT NULL, UserCookie CHAR(32) NOT NULL, UCookieDate DATE NOT NULL, UserLastIP CHAR(15), UserTheadCount SMALLINT UNSIGNED NOT NULL DEFAULT 0, UserPostCount SMALLINT UNSIGNED NOT NULL DEFAULT 0, UShowEmail ENUM('0','1') NOT NULL DEFAULT '0', UUseCookie ENUM('0','1') NOT NULL DEFAULT '1', UDisplayOrder ENUM('0','1') NOT NULL DEFAULT '0', UTheadWithAnsOnly ENUM('0','1') NOT NULL DEFAULT '0', UTheadForDayOnPage TINYINT UNSIGNED DEFAULT 0, UTheadInPage TINYINT UNSIGNED DEFAULT 0, UPostInPage TINYINT UNSIGNED DEFAULT 0, USendMailWithAns ENUM('0','1') NOT NULL DEFAULT '0', UAcceptMailFromUser ENUM('0','1') NOT NULL DEFAULT '0', UAcceptMailFromAdmins ENUM('0','1') NOT NULL DEFAULT '0', UserStatus TINYINT UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (UserID), UNIQUE INDEX (UserLoginName) ); CREATE TABLE fm_globalsettings ( GSId INT UNSIGNED NOT NULL AUTO_INCREMENT, GSettingName CHAR(25) NOT NULL, GSettingValue CHAR(15), PRIMARY KEY (GSId), UNIQUE INDEX (GSettingName) ); CREATE TABLE fm_forumsettings ( FSId INT UNSIGNED NOT NULL AUTO_INCREMENT, FSForumIdN INT UNSIGNED NOT NULL, FSettingName CHAR(25) NOT NULL, FSettingValue CHAR(15), PRIMARY KEY (FSId) ); CREATE TABLE fm_usergroupsettings ( UGSId INT UNSIGNED NOT NULL AUTO_INCREMENT, UserGroupIdN INT UNSIGNED NOT NULL, UGSettingName CHAR(25) NOT NULL, UGSettingValue CHAR(15), PRIMARY KEY (UGSId) ); CREATE TABLE fm_usergroups ( UserGroupId INT UNSIGNED NOT NULL AUTO_INCREMENT, UGTitle CHAR(25) NOT NULL, PRIMARY KEY (UserGroupId), UNIQUE INDEX (UGTitle) ); CREATE TABLE fm_usergrouplist ( UserGroupIdN INT UNSIGNED NOT NULL, UserIdN INT UNSIGNED NOT NULL, KEY (UserGroupIdN), KEY (UserIdN) ); CREATE TABLE fm_httpcodes ( CodeId INT UNSIGNED NOT NULL AUTO_INCREMENT, PseudoCodePattern CHAR(50) NOT NULL, HtmlCodePattern CHAR(50) NOT NULL, KEY (CodeId), UNIQUE INDEX (PseudoCodePattern) ); CREATE TABLE fm_replacement ( ReplId INT UNSIGNED NOT NULL AUTO_INCREMENT, RFindWord CHAR(50) NOT NULL, ReplaceWord CHAR(50) NOT NULL, KEY (ReplId), UNIQUE INDEX (RFindWord) ); CREATE TABLE fm_moderators ( MForumIdN INT UNSIGNED NOT NULL, MUserIdN INT UNSIGNED NOT NULL, MStatus TINYINT UNSIGNED NOT NULL DEFAULT 0, KEY (MForumIdN), KEY (MUserIdN) ); CREATE TABLE fm_theadvotes ( TVTheadIdN INT UNSIGNED NOT NULL, TVUserIdN INT UNSIGNED NOT NULL, TVIP CHAR(15) NOT NULL, TVote TINYINT UNSIGNED NOT NULL, TVDate TIMESTAMP NOT NULL, KEY (TVTheadIdN) ); CREATE TABLE fm_subscribe ( SubscribeId INT UNSIGNED NOT NULL AUTO_INCREMENT, SUserIdN INT UNSIGNED NOT NULL, SEmail CHAR(60) NOT NULL, SType TINYINT UNSIGNED NOT NULL, SForumIdN INT UNSIGNED NOT NULL, STheadIdN INT UNSIGNED NOT NULL, SDate TIMESTAMP, SUniq CHAR(32) NOT NULL DEFAULT '', PRIMARY KEY (SubscribeId), KEY(SUserIdN), KEY(SEmail), KEY(SUniq) ); ####обязательное заполнение таблицы fm_users INSERT INTO fm_users(UserFullName,UserLoginName,UserPassword,UserEMail,UJoinDate,UserCookie,UCookieDate) VALUES('anonymous','anonymous',PASSWORD('kj2f5hgfd'),'',NOW(),'1',NOW()); INSERT INTO fm_users(UserFullName,UserLoginName,UserPassword,UserEMail,UJoinDate,UserCookie,UCookieDate) VALUES('admin','admin',PASSWORD('zzh9m7'),'',NOW(),'2',NOW()); ####обязательное заполнение таблицы fm_posts INSERT INTO fm_posts(PForumIdN,PThedIdN,PUserName,PUserIdN,PUnique) VALUES(0,0,'anonymous',1,',khkjbkjhgkkjnsdlhf');