BioTorrents.de’s version of Gazelle
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

gazelle.sql 70KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925
  1. -- Please see the limits for kinds of fields below.
  2. -- The commented dates above each table refer to when I last manually reconciled the schema.
  3. --
  4. -- * Gazelle ID numbers: int(10)
  5. -- * Accession numbers: varchar(50)
  6. -- * Gazelle titles: varchar(50)
  7. -- * Torrent titles: varchar(255)
  8. -- * Ocelot tokens: char(32)
  9. -- * Tag lists: varchar(500)
  10. --
  11. -- todo: Finish explaining the schema
  12. -- Development or production?
  13. SET FOREIGN_KEY_CHECKS = 0;
  14. CREATE DATABASE gazelle_development CHARACTER SET utf8mb4;
  15. USE gazelle_development;
  16. -- 2020-03-09
  17. CREATE TABLE `api_applications` (
  18. `ID` int(10) NOT NULL AUTO_INCREMENT,
  19. `UserID` int(10) NOT NULL,
  20. `Token` char(32) NOT NULL, -- Ocelot 32-character limit
  21. `Name` varchar(50) NOT NULL,
  22. PRIMARY KEY (`ID`)
  23. ) ENGINE=InnoDB CHARSET=utf8mb4;
  24. -- 2020-03-09
  25. CREATE TABLE `api_users` (
  26. `UserID` int(10) NOT NULL,
  27. `AppID` int(10) NOT NULL,
  28. `Token` char(32) NOT NULL, -- Ocelot 32-character limit
  29. `State` enum('0','1','2') NOT NULL DEFAULT '0',
  30. `Time` datetime,
  31. `Access` text,
  32. PRIMARY KEY (`UserID`,`AppID`),
  33. KEY `UserID` (`UserID`)
  34. ) ENGINE=InnoDB CHARSET=utf8mb4;
  35. -- 2020-03-09
  36. CREATE TABLE `artists_alias` (
  37. `AliasID` int(10) NOT NULL AUTO_INCREMENT,
  38. `ArtistID` int(10) NOT NULL,
  39. `Name` varchar(200) DEFAULT NULL, -- todo: 200 vs. 255?
  40. `Redirect` int(10) NOT NULL DEFAULT '0',
  41. `UserID` int(10) unsigned NOT NULL DEFAULT '0',
  42. PRIMARY KEY (`AliasID`),
  43. KEY `ArtistID` (`ArtistID`),
  44. KEY `Name` (`Name`)
  45. ) ENGINE=InnoDB CHARSET=utf8mb4;
  46. -- 2020-03-09
  47. CREATE TABLE `artists_aliases` (
  48. `ID` int(10) NOT NULL AUTO_INCREMENT,
  49. `ArtistID` int(10) NOT NULL,
  50. `Name` varchar(255) NOT NULL DEFAULT '',
  51. `Primary` enum('0','1') DEFAULT '0',
  52. PRIMARY KEY (`ArtistID`,`Name`),
  53. UNIQUE KEY `ArtistID` (`ArtistID`,`Primary`),
  54. KEY `ID` (`ID`)
  55. ) ENGINE=InnoDB CHARSET=utf8mb4;
  56. -- 2020-03-09
  57. CREATE TABLE `artists_group` (
  58. `ArtistID` int(10) NOT NULL AUTO_INCREMENT,
  59. `Name` varchar(255) NOT NULL DEFAULT '',
  60. `ORCiD` varchar(20) NOT NULL DEFAULT '', -- todo
  61. `RevisionID` int(12) DEFAULT NULL, -- todo: 12 vs. 10?
  62. `LastCommentID` int(10) NOT NULL DEFAULT '0',
  63. PRIMARY KEY (`ArtistID`,`Name`),
  64. KEY `RevisionID` (`RevisionID`)
  65. ) ENGINE=InnoDB CHARSET=utf8mb4;
  66. -- 2020-03-09
  67. CREATE TABLE `artists_tags` (
  68. `TagID` int(10) NOT NULL DEFAULT '0',
  69. `ArtistID` int(10) NOT NULL DEFAULT '0',
  70. `PositiveVotes` int(6) NOT NULL DEFAULT '1',
  71. `NegativeVotes` int(6) NOT NULL DEFAULT '1',
  72. `UserID` int(10) DEFAULT NULL,
  73. PRIMARY KEY (`TagID`,`ArtistID`),
  74. KEY `TagID` (`TagID`),
  75. KEY `ArtistID` (`ArtistID`),
  76. KEY `PositiveVotes` (`PositiveVotes`),
  77. KEY `NegativeVotes` (`NegativeVotes`),
  78. KEY `UserID` (`UserID`)
  79. ) ENGINE=InnoDB CHARSET=utf8mb4;
  80. -- 2020-03-09
  81. CREATE TABLE `badges` (
  82. `ID` int(10) NOT NULL AUTO_INCREMENT,
  83. `Icon` varchar(255) NOT NULL,
  84. `Name` varchar(255) DEFAULT NULL,
  85. `Description` varchar(255) DEFAULT NULL,
  86. PRIMARY KEY (`ID`)
  87. ) ENGINE=InnoDB CHARSET=utf8mb4;
  88. -- 2020-03-09
  89. CREATE TABLE `bad_passwords` (
  90. `Password` char(32) NOT NULL,
  91. PRIMARY KEY (`Password`)
  92. ) ENGINE=InnoDB CHARSET=utf8mb4;
  93. -- 2020-03-09
  94. CREATE TABLE `blog` (
  95. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  96. `UserID` int(10) unsigned NOT NULL,
  97. `Title` varchar(255) NOT NULL,
  98. `Body` text,
  99. `Time` datetime,
  100. `ThreadID` int(10) unsigned DEFAULT NULL,
  101. `Important` tinyint(4) NOT NULL DEFAULT '0',
  102. PRIMARY KEY (`ID`),
  103. KEY `UserID` (`UserID`),
  104. KEY `Time` (`Time`)
  105. ) ENGINE=InnoDB CHARSET=utf8mb4;
  106. -- 2020-03-09
  107. CREATE TABLE `bookmarks_artists` (
  108. `UserID` int(10) NOT NULL,
  109. `ArtistID` int(10) NOT NULL,
  110. `Time` datetime,
  111. KEY `UserID` (`UserID`),
  112. KEY `ArtistID` (`ArtistID`)
  113. ) ENGINE=InnoDB CHARSET=utf8mb4;
  114. -- 2020-03-09
  115. CREATE TABLE `bookmarks_collages` (
  116. `UserID` int(10) NOT NULL,
  117. `CollageID` int(10) NOT NULL,
  118. `Time` datetime,
  119. KEY `UserID` (`UserID`),
  120. KEY `CollageID` (`CollageID`)
  121. ) ENGINE=InnoDB CHARSET=utf8mb4;
  122. -- 2020-03-09
  123. CREATE TABLE `bookmarks_requests` (
  124. `UserID` int(10) NOT NULL,
  125. `RequestID` int(10) NOT NULL,
  126. `Time` datetime,
  127. KEY `UserID` (`UserID`),
  128. KEY `RequestID` (`RequestID`)
  129. ) ENGINE=InnoDB CHARSET=utf8mb4;
  130. -- 2020-03-09
  131. CREATE TABLE `bookmarks_torrents` (
  132. `UserID` int(10) NOT NULL,
  133. `GroupID` int(10) NOT NULL,
  134. `Time` datetime,
  135. `Sort` int(11) NOT NULL DEFAULT '0', -- todo: 11 vs. 10?
  136. UNIQUE KEY `groups_users` (`GroupID`,`UserID`),
  137. KEY `UserID` (`UserID`),
  138. KEY `GroupID` (`GroupID`)
  139. ) ENGINE=InnoDB CHARSET=utf8mb4;
  140. -- 2020-03-09
  141. CREATE TABLE `calendar` (
  142. `ID` int(10) NOT NULL AUTO_INCREMENT,
  143. `Title` varchar(255) DEFAULT NULL,
  144. `Body` mediumtext,
  145. `Category` tinyint(1) DEFAULT NULL,
  146. `StartDate` datetime DEFAULT NULL,
  147. `EndDate` datetime DEFAULT NULL,
  148. `AddedBy` int(10) DEFAULT NULL,
  149. `Importance` tinyint(1) DEFAULT NULL,
  150. `Team` tinyint(1) DEFAULT '1',
  151. PRIMARY KEY (`ID`)
  152. ) ENGINE=InnoDB CHARSET=utf8mb4;
  153. -- 2020-03-09
  154. CREATE TABLE `changelog` (
  155. `ID` int(11) NOT NULL AUTO_INCREMENT, -- todo: 11 vs. 10?
  156. `Time` datetime,
  157. `Message` text,
  158. `Author` varchar(30) NOT NULL, -- todo: 30 vs. 25?
  159. PRIMARY KEY (`ID`)
  160. ) ENGINE=InnoDB CHARSET=utf8mb4;
  161. -- 2020-03-09
  162. CREATE TABLE `collages` (
  163. `ID` int(10) NOT NULL AUTO_INCREMENT,
  164. `Name` varchar(100) NOT NULL DEFAULT '', -- todo: 100 vs. 255?
  165. `Description` text,
  166. `UserID` int(10) NOT NULL DEFAULT '0',
  167. `NumTorrents` int(4) NOT NULL DEFAULT '0',
  168. `Deleted` enum('0','1') DEFAULT '0',
  169. `Locked` enum('0','1') NOT NULL DEFAULT '0',
  170. `CategoryID` int(2) NOT NULL DEFAULT '1',
  171. `TagList` varchar(500) NOT NULL DEFAULT '',
  172. `MaxGroups` int(10) NOT NULL DEFAULT '0',
  173. `MaxGroupsPerUser` int(10) NOT NULL DEFAULT '0',
  174. `Featured` tinyint(4) NOT NULL DEFAULT '0',
  175. `Subscribers` int(10) DEFAULT '0',
  176. `updated` datetime,
  177. PRIMARY KEY (`ID`),
  178. UNIQUE KEY `Name` (`Name`),
  179. KEY `UserID` (`UserID`),
  180. KEY `CategoryID` (`CategoryID`)
  181. ) ENGINE=InnoDB CHARSET=utf8mb4;
  182. -- 2020-03-09
  183. CREATE TABLE `collages_artists` (
  184. `CollageID` int(10) NOT NULL,
  185. `ArtistID` int(10) NOT NULL,
  186. `UserID` int(10) NOT NULL,
  187. `Sort` int(10) NOT NULL DEFAULT '0',
  188. `AddedOn` datetime,
  189. PRIMARY KEY (`CollageID`,`ArtistID`),
  190. KEY `UserID` (`UserID`),
  191. KEY `Sort` (`Sort`)
  192. ) ENGINE=InnoDB CHARSET=utf8mb4;
  193. -- 2020-03-09
  194. CREATE TABLE `collages_torrents` (
  195. `CollageID` int(10) NOT NULL,
  196. `GroupID` int(10) NOT NULL,
  197. `UserID` int(10) NOT NULL,
  198. `Sort` int(10) NOT NULL DEFAULT '0',
  199. `AddedOn` datetime,
  200. PRIMARY KEY (`CollageID`,`GroupID`),
  201. KEY `UserID` (`UserID`),
  202. KEY `Sort` (`Sort`)
  203. ) ENGINE=InnoDB CHARSET=utf8mb4;
  204. -- 2020-03-09
  205. CREATE TABLE `comments` (
  206. `ID` int(10) NOT NULL AUTO_INCREMENT,
  207. `Page` enum('artist','collages','requests','torrents') NOT NULL,
  208. `PageID` int(10) NOT NULL,
  209. `AuthorID` int(10) NOT NULL,
  210. `AddedTime` datetime,
  211. `Body` mediumtext,
  212. `EditedUserID` int(10) DEFAULT NULL,
  213. `EditedTime` datetime DEFAULT NULL,
  214. PRIMARY KEY (`ID`),
  215. KEY `Page` (`Page`,`PageID`),
  216. KEY `AuthorID` (`AuthorID`)
  217. ) ENGINE=InnoDB CHARSET=utf8mb4;
  218. -- 2020-03-09
  219. CREATE TABLE `comments_edits` (
  220. `Page` enum('forums','artist','collages','requests','torrents') DEFAULT NULL,
  221. `PostID` int(10) DEFAULT NULL,
  222. `EditUser` int(10) DEFAULT NULL,
  223. `EditTime` datetime DEFAULT NULL,
  224. `Body` mediumtext,
  225. KEY `EditUser` (`EditUser`),
  226. KEY `PostHistory` (`Page`,`PostID`,`EditTime`)
  227. ) ENGINE=InnoDB CHARSET=utf8mb4;
  228. -- 2020-03-09
  229. CREATE TABLE `comments_edits_tmp` (
  230. `Page` enum('forums','artist','collages','requests','torrents') DEFAULT NULL,
  231. `PostID` int(10) DEFAULT NULL,
  232. `EditUser` int(10) DEFAULT NULL,
  233. `EditTime` datetime DEFAULT NULL,
  234. `Body` mediumtext,
  235. KEY `EditUser` (`EditUser`),
  236. KEY `PostHistory` (`Page`,`PostID`,`EditTime`)
  237. ) ENGINE=InnoDB CHARSET=utf8mb4;
  238. -- 2020-03-09
  239. CREATE TABLE `cover_art` (
  240. `ID` int(10) NOT NULL AUTO_INCREMENT,
  241. `GroupID` int(10) NOT NULL,
  242. `Image` varchar(255) NOT NULL DEFAULT '',
  243. `Summary` varchar(100) DEFAULT NULL, -- todo: 100 vs. 255?
  244. `UserID` int(10) NOT NULL DEFAULT '0',
  245. `Time` datetime DEFAULT NULL,
  246. PRIMARY KEY (`ID`),
  247. UNIQUE KEY `GroupID` (`GroupID`,`Image`)
  248. ) ENGINE=InnoDB CHARSET=utf8mb4;
  249. -- 2020-03-09
  250. CREATE TABLE `currency_conversion_rates` (
  251. `Currency` char(3) NOT NULL,
  252. `Rate` decimal(9,4) DEFAULT NULL,
  253. `Time` datetime DEFAULT NULL,
  254. PRIMARY KEY (`Currency`)
  255. ) ENGINE=InnoDB CHARSET=utf8mb4;
  256. -- 2020-03-09
  257. CREATE TABLE `deletion_requests` (
  258. `UserID` int(10) unsigned NOT NULL,
  259. `Value` varchar(255) NOT NULL,
  260. `Type` varchar(255) NOT NULL,
  261. `Reason` text,
  262. `Time` datetime,
  263. PRIMARY KEY (`UserID`,`Value`)
  264. ) ENGINE=InnoDB CHARSET=utf8mb4;
  265. -- 2020-03-09
  266. CREATE TABLE `donations` (
  267. `UserID` int(10) NOT NULL,
  268. `Amount` decimal(6,2) NOT NULL,
  269. `Email` varchar(255) NOT NULL,
  270. `Time` datetime,
  271. `Currency` varchar(5) NOT NULL DEFAULT 'USD',
  272. `Source` varchar(30) NOT NULL DEFAULT '', -- todo: 30 vs. 25?
  273. `Reason` mediumtext,
  274. `Rank` int(10) DEFAULT '0',
  275. `AddedBy` int(10) DEFAULT '0',
  276. `TotalRank` int(10) DEFAULT '0',
  277. KEY `UserID` (`UserID`),
  278. KEY `Time` (`Time`),
  279. KEY `Amount` (`Amount`)
  280. ) ENGINE=InnoDB CHARSET=utf8mb4;
  281. -- 2020-03-09
  282. CREATE TABLE `donations_bitcoin` (
  283. `BitcoinAddress` varchar(35) NOT NULL, -- https://en.bitcoin.it/wiki/Address
  284. `Amount` decimal(24,8) NOT NULL,
  285. KEY `BitcoinAddress` (`BitcoinAddress`,`Amount`)
  286. ) ENGINE=InnoDB CHARSET=utf8mb4;
  287. -- 2020-03-09
  288. CREATE TABLE `donor_forum_usernames` (
  289. `UserID` int(10) NOT NULL DEFAULT '0',
  290. `Prefix` varchar(30) NOT NULL DEFAULT '',
  291. `Suffix` varchar(30) NOT NULL DEFAULT '',
  292. `UseComma` tinyint(1) DEFAULT '1',
  293. PRIMARY KEY (`UserID`)
  294. ) ENGINE=InnoDB CHARSET=utf8mb4;
  295. -- 2020-03-09
  296. CREATE TABLE `donor_rewards` (
  297. `UserID` int(10) NOT NULL DEFAULT '0',
  298. `IconMouseOverText` varchar(200) NOT NULL DEFAULT '', -- todo: 200 vs. 255?
  299. `AvatarMouseOverText` varchar(200) NOT NULL DEFAULT '', -- todo
  300. `CustomIcon` varchar(200) NOT NULL DEFAULT '', -- todo
  301. `SecondAvatar` varchar(200) NOT NULL DEFAULT '', -- todo
  302. `CustomIconLink` varchar(200) NOT NULL DEFAULT '', -- todo
  303. `ProfileInfo1` text,
  304. `ProfileInfo2` text,
  305. `ProfileInfo3` text,
  306. `ProfileInfo4` text,
  307. `ProfileInfoTitle1` varchar(255) NOT NULL,
  308. `ProfileInfoTitle2` varchar(255) NOT NULL,
  309. `ProfileInfoTitle3` varchar(255) NOT NULL,
  310. `ProfileInfoTitle4` varchar(255) NOT NULL,
  311. PRIMARY KEY (`UserID`)
  312. ) ENGINE=InnoDB CHARSET=utf8mb4;
  313. -- 2020-03-09
  314. CREATE TABLE `do_not_upload` (
  315. `ID` int(10) NOT NULL AUTO_INCREMENT,
  316. `Name` varchar(255) NOT NULL,
  317. `Comment` varchar(255) NOT NULL,
  318. `UserID` int(10) NOT NULL,
  319. `Time` datetime,
  320. `Sequence` mediumint(8) NOT NULL,
  321. PRIMARY KEY (`ID`),
  322. KEY `Time` (`Time`)
  323. ) ENGINE=InnoDB CHARSET=utf8mb4;
  324. -- 2020-03-09
  325. CREATE TABLE `drives` (
  326. `DriveID` int(10) NOT NULL AUTO_INCREMENT,
  327. `Name` varchar(50) NOT NULL, -- todo: 50 vs. 255?
  328. `Offset` varchar(10) NOT NULL,
  329. PRIMARY KEY (`DriveID`),
  330. KEY `Name` (`Name`)
  331. ) ENGINE=InnoDB CHARSET=utf8mb4;
  332. -- 2020-03-09
  333. CREATE TABLE `dupe_groups` (
  334. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  335. `Comments` text,
  336. PRIMARY KEY (`ID`)
  337. ) ENGINE=InnoDB CHARSET=utf8mb4;
  338. -- 2020-03-09
  339. CREATE TABLE `email_blacklist` (
  340. `ID` int(10) NOT NULL AUTO_INCREMENT,
  341. `UserID` int(10) NOT NULL,
  342. `Email` varchar(255) NOT NULL,
  343. `Time` datetime,
  344. `Comment` text,
  345. PRIMARY KEY (`ID`)
  346. ) ENGINE=InnoDB CHARSET=utf8mb4;
  347. -- 2020-03-09
  348. CREATE TABLE `featured_albums` (
  349. `GroupID` int(10) NOT NULL DEFAULT '0',
  350. `ThreadID` int(10) NOT NULL DEFAULT '0',
  351. `Title` varchar(35) NOT NULL DEFAULT '', -- todo: 35 vs. 50 vs. 255?
  352. `Started` datetime,
  353. `Ended` datetime
  354. ) ENGINE=InnoDB CHARSET=utf8mb4;
  355. -- 2020-03-09
  356. CREATE TABLE `featured_merch` (
  357. `ProductID` int(10) NOT NULL DEFAULT '0',
  358. `Title` varchar(35) NOT NULL DEFAULT '', -- todo: 35 vs. 50 vs. 255?
  359. `Image` varchar(255) NOT NULL DEFAULT '',
  360. `Started` datetime,
  361. `Ended` datetime,
  362. `ArtistID` int(10) unsigned DEFAULT '0'
  363. ) ENGINE=InnoDB CHARSET=utf8mb4;
  364. -- 2020-03-09
  365. CREATE TABLE `forums` (
  366. `ID` int(6) unsigned NOT NULL AUTO_INCREMENT,
  367. `CategoryID` tinyint(2) NOT NULL DEFAULT '0',
  368. `Sort` int(6) unsigned NOT NULL,
  369. `Name` varchar(40) NOT NULL DEFAULT '', -- todo: 40 vs. 50 vs. 255?
  370. `Description` varchar(255) DEFAULT '',
  371. `MinClassRead` int(4) NOT NULL DEFAULT '0',
  372. `MinClassWrite` int(4) NOT NULL DEFAULT '0',
  373. `MinClassCreate` int(4) NOT NULL DEFAULT '0',
  374. `NumTopics` int(10) NOT NULL DEFAULT '0',
  375. `NumPosts` int(10) NOT NULL DEFAULT '0',
  376. `LastPostID` int(10) NOT NULL DEFAULT '0',
  377. `LastPostAuthorID` int(10) NOT NULL DEFAULT '0',
  378. `LastPostTopicID` int(10) NOT NULL DEFAULT '0',
  379. `LastPostTime` datetime,
  380. PRIMARY KEY (`ID`),
  381. KEY `Sort` (`Sort`),
  382. KEY `MinClassRead` (`MinClassRead`)
  383. ) ENGINE=InnoDB CHARSET=utf8mb4;
  384. -- 2020-03-09
  385. CREATE TABLE `forums_categories` (
  386. `ID` tinyint(2) NOT NULL AUTO_INCREMENT,
  387. `Name` varchar(40) NOT NULL DEFAULT '', -- todo: 40 vs. 50 vs. 255?
  388. `Sort` int(6) unsigned NOT NULL DEFAULT '0',
  389. PRIMARY KEY (`ID`),
  390. KEY `Sort` (`Sort`)
  391. ) ENGINE=InnoDB CHARSET=utf8mb4;
  392. -- 2020-03-09
  393. CREATE TABLE `forums_last_read_topics` (
  394. `UserID` int(10) NOT NULL,
  395. `TopicID` int(10) NOT NULL,
  396. `PostID` int(10) NOT NULL,
  397. PRIMARY KEY (`UserID`,`TopicID`),
  398. KEY `TopicID` (`TopicID`)
  399. ) ENGINE=InnoDB CHARSET=utf8mb4;
  400. -- 2020-03-09
  401. CREATE TABLE `forums_polls` (
  402. `TopicID` int(10) unsigned NOT NULL,
  403. `Question` varchar(255) NOT NULL,
  404. `Answers` text,
  405. `Featured` datetime,
  406. `Closed` enum('0','1') NOT NULL DEFAULT '0',
  407. PRIMARY KEY (`TopicID`)
  408. ) ENGINE=InnoDB CHARSET=utf8mb4;
  409. -- 2020-03-09
  410. CREATE TABLE `forums_polls_votes` (
  411. `TopicID` int(10) unsigned NOT NULL,
  412. `UserID` int(10) unsigned NOT NULL,
  413. `Vote` tinyint(3) unsigned NOT NULL,
  414. PRIMARY KEY (`TopicID`,`UserID`)
  415. ) ENGINE=InnoDB CHARSET=utf8mb4;
  416. -- 2020-03-09
  417. CREATE TABLE `forums_posts` (
  418. `ID` int(10) NOT NULL AUTO_INCREMENT,
  419. `TopicID` int(10) NOT NULL,
  420. `AuthorID` int(10) NOT NULL,
  421. `AddedTime` datetime,
  422. `Body` mediumtext,
  423. `EditedUserID` int(10) DEFAULT NULL,
  424. `EditedTime` datetime DEFAULT NULL,
  425. PRIMARY KEY (`ID`),
  426. KEY `TopicID` (`TopicID`),
  427. KEY `AuthorID` (`AuthorID`)
  428. ) ENGINE=InnoDB CHARSET=utf8mb4;
  429. -- 2020-03-09
  430. CREATE TABLE `forums_specific_rules` (
  431. `ForumID` int(6) unsigned DEFAULT NULL,
  432. `ThreadID` int(10) DEFAULT NULL
  433. ) ENGINE=InnoDB CHARSET=utf8mb4;
  434. -- 2020-03-09
  435. CREATE TABLE `forums_topics` (
  436. `ID` int(10) NOT NULL AUTO_INCREMENT,
  437. `Title` varchar(150) NOT NULL, -- todo: 150 vs. 255?
  438. `AuthorID` int(10) NOT NULL,
  439. `IsLocked` enum('0','1') NOT NULL DEFAULT '0',
  440. `IsSticky` enum('0','1') NOT NULL DEFAULT '0',
  441. `ForumID` int(3) NOT NULL,
  442. `NumPosts` int(10) NOT NULL DEFAULT '0',
  443. `LastPostID` int(10) NOT NULL DEFAULT '0',
  444. `LastPostTime` datetime,
  445. `LastPostAuthorID` int(10) NOT NULL,
  446. `StickyPostID` int(10) NOT NULL DEFAULT '0',
  447. `Ranking` tinyint(2) DEFAULT '0',
  448. `CreatedTime` datetime,
  449. PRIMARY KEY (`ID`),
  450. KEY `AuthorID` (`AuthorID`),
  451. KEY `ForumID` (`ForumID`),
  452. KEY `IsSticky` (`IsSticky`),
  453. KEY `LastPostID` (`LastPostID`),
  454. KEY `Title` (`Title`),
  455. KEY `CreatedTime` (`CreatedTime`)
  456. ) ENGINE=InnoDB CHARSET=utf8mb4;
  457. -- 2020-03-09
  458. CREATE TABLE `forums_topic_notes` (
  459. `ID` int(10) NOT NULL AUTO_INCREMENT,
  460. `TopicID` int(10) NOT NULL,
  461. `AuthorID` int(10) NOT NULL,
  462. `AddedTime` datetime,
  463. `Body` mediumtext,
  464. PRIMARY KEY (`ID`),
  465. KEY `TopicID` (`TopicID`),
  466. KEY `AuthorID` (`AuthorID`)
  467. ) ENGINE=InnoDB CHARSET=utf8mb4;
  468. -- 2020-03-09
  469. CREATE TABLE `friends` (
  470. `UserID` int(10) unsigned NOT NULL,
  471. `FriendID` int(10) unsigned NOT NULL,
  472. `Comment` text,
  473. PRIMARY KEY (`UserID`,`FriendID`),
  474. KEY `UserID` (`UserID`),
  475. KEY `FriendID` (`FriendID`)
  476. ) ENGINE=InnoDB CHARSET=utf8mb4;
  477. -- 2020-03-09
  478. CREATE TABLE `geoip_asn` (
  479. `StartIP` varbinary(16) NOT NULL,
  480. `EndIP` varbinary(16) NOT NULL,
  481. `ASN` decimal(10,0) NOT NULL,
  482. PRIMARY KEY (`StartIP`,`EndIP`)
  483. ) ENGINE=InnoDB CHARSET=utf8mb4;
  484. -- 2020-03-09
  485. CREATE TABLE `geoip_country` (
  486. `StartIP` decimal(39,0) NOT NULL,
  487. `EndIP` decimal(39,0) NOT NULL,
  488. `Code` varchar(2) NOT NULL,
  489. PRIMARY KEY (`StartIP`,`EndIP`)
  490. ) ENGINE=InnoDB CHARSET=utf8mb4;
  491. -- 2020-03-09
  492. CREATE TABLE `group_log` (
  493. `ID` int(10) NOT NULL AUTO_INCREMENT,
  494. `GroupID` int(10) NOT NULL,
  495. `TorrentID` int(10) NOT NULL,
  496. `UserID` int(10) NOT NULL DEFAULT '0',
  497. `Info` mediumtext,
  498. `Time` datetime,
  499. `Hidden` tinyint(4) NOT NULL DEFAULT '0',
  500. PRIMARY KEY (`ID`),
  501. KEY `GroupID` (`GroupID`),
  502. KEY `TorrentID` (`TorrentID`),
  503. KEY `UserID` (`UserID`)
  504. ) ENGINE=InnoDB CHARSET=utf8mb4;
  505. -- 2020-03-09
  506. CREATE TABLE `invites` (
  507. `InviterID` int(10) NOT NULL DEFAULT '0',
  508. `InviteKey` char(32) NOT NULL,
  509. `Email` varchar(255) NOT NULL,
  510. `Expires` datetime,
  511. `Reason` varchar(255) NOT NULL DEFAULT '',
  512. PRIMARY KEY (`InviteKey`),
  513. KEY `Expires` (`Expires`),
  514. KEY `InviterID` (`InviterID`)
  515. ) ENGINE=InnoDB CHARSET=utf8mb4;
  516. -- 2020-03-09
  517. CREATE TABLE `invite_tree` (
  518. `UserID` int(10) NOT NULL DEFAULT '0',
  519. `InviterID` int(10) NOT NULL DEFAULT '0',
  520. `TreePosition` int(8) NOT NULL DEFAULT '1',
  521. `TreeID` int(10) NOT NULL DEFAULT '1',
  522. `TreeLevel` int(3) NOT NULL DEFAULT '0',
  523. PRIMARY KEY (`UserID`),
  524. KEY `InviterID` (`InviterID`),
  525. KEY `TreePosition` (`TreePosition`),
  526. KEY `TreeID` (`TreeID`),
  527. KEY `TreeLevel` (`TreeLevel`)
  528. ) ENGINE=InnoDB CHARSET=utf8mb4;
  529. -- 2020-03-09
  530. CREATE TABLE `ip_bans` (
  531. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  532. `FromIP` int(11) unsigned NOT NULL, -- todo: 11 vs. 10?
  533. `ToIP` int(11) unsigned NOT NULL, -- todo
  534. `Reason` varchar(255) DEFAULT NULL,
  535. PRIMARY KEY (`ID`),
  536. UNIQUE KEY `FromIP_2` (`FromIP`,`ToIP`),
  537. KEY `ToIP` (`ToIP`)
  538. ) ENGINE=InnoDB CHARSET=utf8mb4;
  539. -- 2020-03-09
  540. CREATE TABLE `label_aliases` (
  541. `ID` int(10) NOT NULL AUTO_INCREMENT,
  542. `BadLabel` varchar(100) NOT NULL, -- todo: 100 vs. 255?
  543. `AliasLabel` varchar(100) NOT NULL, -- todo
  544. PRIMARY KEY (`ID`),
  545. KEY `BadLabel` (`BadLabel`),
  546. KEY `AliasLabel` (`AliasLabel`)
  547. ) ENGINE=InnoDB CHARSET=utf8mb4;
  548. -- 2020-03-09
  549. CREATE TABLE `last_sent_email` (
  550. `UserID` int(10) NOT NULL,
  551. PRIMARY KEY (`UserID`)
  552. ) ENGINE=InnoDB CHARSET=utf8mb4;
  553. -- 2020-03-09
  554. CREATE TABLE `library_contest` (
  555. `UserID` int(10) NOT NULL,
  556. `TorrentID` int(10) NOT NULL,
  557. `Points` int(10) NOT NULL DEFAULT '0',
  558. PRIMARY KEY (`UserID`,`TorrentID`)
  559. ) ENGINE=InnoDB CHARSET=utf8mb4;
  560. -- 2020-03-09
  561. CREATE TABLE `locked_accounts` (
  562. `UserID` int(10) unsigned NOT NULL,
  563. `Type` tinyint(1) NOT NULL,
  564. PRIMARY KEY (`UserID`),
  565. CONSTRAINT `fk_user_id` FOREIGN KEY (`UserID`) REFERENCES `users_main` (`ID`) ON DELETE CASCADE
  566. ) ENGINE=InnoDB CHARSET=utf8mb4;
  567. -- 2020-03-09
  568. CREATE TABLE `log` (
  569. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  570. `Message` varchar(400) NOT NULL, -- todo: 400 vs. 500?
  571. `Time` datetime,
  572. PRIMARY KEY (`ID`),
  573. KEY `Time` (`Time`)
  574. ) ENGINE=InnoDB CHARSET=utf8mb4;
  575. -- 2020-03-09
  576. CREATE TABLE `misc` (
  577. `ID` int(11) NOT NULL AUTO_INCREMENT, -- todo: 11 vs. 10?
  578. `Name` varchar(64) NOT NULL,
  579. `First` text,
  580. `Second` text,
  581. PRIMARY KEY (`ID`),
  582. UNIQUE KEY `Name` (`Name`),
  583. KEY `name_index` (`Name`)
  584. ) ENGINE=InnoDB CHARSET=utf8mb4;
  585. -- 2020-03-09
  586. CREATE TABLE `news` (
  587. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  588. `UserID` int(10) unsigned NOT NULL,
  589. `Title` varchar(255) NOT NULL,
  590. `Body` text,
  591. `Time` datetime,
  592. PRIMARY KEY (`ID`),
  593. KEY `UserID` (`UserID`),
  594. KEY `Time` (`Time`)
  595. ) ENGINE=InnoDB CHARSET=utf8mb4;
  596. -- 2020-03-09
  597. CREATE TABLE `new_info_hashes` (
  598. `TorrentID` int(11) NOT NULL, -- todo: 11 vs. 10?
  599. `InfoHash` binary(20) DEFAULT NULL,
  600. PRIMARY KEY (`TorrentID`),
  601. KEY `InfoHash` (`InfoHash`)
  602. ) ENGINE=InnoDB CHARSET=utf8mb4;
  603. -- 2020-03-09
  604. CREATE TABLE `ocelot_query_times` (
  605. `buffer` enum('users','torrents','snatches','peers') NOT NULL,
  606. `starttime` datetime,
  607. `ocelotinstance` datetime,
  608. `querylength` int(11) NOT NULL, -- todo: 11 vs. 10?
  609. `timespent` int(11) NOT NULL, -- todo
  610. UNIQUE KEY `starttime` (`starttime`)
  611. ) ENGINE=InnoDB CHARSET=utf8mb4;
  612. -- 2020-03-09
  613. CREATE TABLE `permissions` (
  614. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  615. `Level` int(10) unsigned NOT NULL,
  616. `Name` varchar(25) NOT NULL,
  617. `Values` text,
  618. `DisplayStaff` enum('0','1') NOT NULL DEFAULT '0',
  619. `PermittedForums` varchar(150) NOT NULL DEFAULT '', -- todo: 150 vs. 255?
  620. `Secondary` tinyint(4) NOT NULL DEFAULT '0',
  621. `Abbreviation` varchar(5) NOT NULL DEFAULT '',
  622. PRIMARY KEY (`ID`),
  623. UNIQUE KEY `Level` (`Level`),
  624. KEY `DisplayStaff` (`DisplayStaff`)
  625. ) ENGINE=InnoDB CHARSET=utf8mb4;
  626. -- 2020-03-09
  627. CREATE TABLE `pm_conversations` (
  628. `ID` int(12) NOT NULL AUTO_INCREMENT, -- todo: 12 vs. 10?
  629. `Subject` varchar(255) DEFAULT NULL,
  630. PRIMARY KEY (`ID`)
  631. ) ENGINE=InnoDB CHARSET=utf8mb4;
  632. -- 2020-03-09
  633. CREATE TABLE `pm_conversations_users` (
  634. `UserID` int(10) NOT NULL DEFAULT '0',
  635. `ConvID` int(12) NOT NULL DEFAULT '0', -- todo: 12 vs. 10?
  636. `InInbox` enum('1','0') NOT NULL,
  637. `InSentbox` enum('1','0') NOT NULL,
  638. `SentDate` datetime,
  639. `ReceivedDate` datetime,
  640. `UnRead` enum('1','0') NOT NULL DEFAULT '1',
  641. `Sticky` enum('1','0') NOT NULL DEFAULT '0',
  642. `ForwardedTo` int(12) NOT NULL DEFAULT '0', -- todo: 12 vs. 10?
  643. PRIMARY KEY (`UserID`,`ConvID`),
  644. KEY `InInbox` (`InInbox`),
  645. KEY `InSentbox` (`InSentbox`),
  646. KEY `ConvID` (`ConvID`),
  647. KEY `UserID` (`UserID`),
  648. KEY `SentDate` (`SentDate`),
  649. KEY `ReceivedDate` (`ReceivedDate`),
  650. KEY `Sticky` (`Sticky`),
  651. KEY `ForwardedTo` (`ForwardedTo`)
  652. ) ENGINE=InnoDB CHARSET=utf8mb4;
  653. -- 2020-03-09
  654. CREATE TABLE `pm_messages` (
  655. `ID` int(12) NOT NULL AUTO_INCREMENT, -- todo: 12 vs. 10?
  656. `ConvID` int(12) NOT NULL DEFAULT '0', -- todo
  657. `SentDate` datetime,
  658. `SenderID` int(10) NOT NULL DEFAULT '0',
  659. `Body` text,
  660. PRIMARY KEY (`ID`),
  661. KEY `ConvID` (`ConvID`)
  662. ) ENGINE=InnoDB CHARSET=utf8mb4;
  663. -- 2020-03-09
  664. CREATE TABLE `reports` (
  665. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  666. `UserID` int(10) unsigned NOT NULL DEFAULT '0',
  667. `ThingID` int(10) unsigned NOT NULL DEFAULT '0',
  668. `Type` varchar(30) DEFAULT NULL, -- todo: 30 vs. 50 vs. 255?
  669. `Comment` text,
  670. `ResolverID` int(10) unsigned NOT NULL DEFAULT '0',
  671. `Status` enum('New','InProgress','Resolved') DEFAULT 'New',
  672. `ResolvedTime` datetime,
  673. `ReportedTime` datetime,
  674. `Reason` text,
  675. `ClaimerID` int(10) unsigned NOT NULL DEFAULT '0',
  676. `Notes` text,
  677. PRIMARY KEY (`ID`),
  678. KEY `Status` (`Status`),
  679. KEY `Type` (`Type`),
  680. KEY `ResolvedTime` (`ResolvedTime`),
  681. KEY `ResolverID` (`ResolverID`)
  682. ) ENGINE=InnoDB CHARSET=utf8mb4;
  683. -- 2020-03-09
  684. CREATE TABLE `reportsv2` (
  685. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  686. `ReporterID` int(10) unsigned NOT NULL DEFAULT '0',
  687. `TorrentID` int(10) unsigned NOT NULL DEFAULT '0',
  688. `Type` varchar(25) DEFAULT '', -- todo: 25 vs. 50 vs. 255?
  689. `UserComment` text,
  690. `ResolverID` int(10) unsigned NOT NULL DEFAULT '0',
  691. `Status` enum('New','InProgress','Resolved') DEFAULT 'New',
  692. `ReportedTime` datetime,
  693. `LastChangeTime` datetime,
  694. `ModComment` text,
  695. `Track` text,
  696. `Image` text,
  697. `ExtraID` text,
  698. `Link` text,
  699. `LogMessage` text,
  700. PRIMARY KEY (`ID`),
  701. KEY `Status` (`Status`),
  702. KEY `Type` (`Type`(1)),
  703. KEY `LastChangeTime` (`LastChangeTime`),
  704. KEY `TorrentID` (`TorrentID`),
  705. KEY `ResolverID` (`ResolverID`)
  706. ) ENGINE=InnoDB CHARSET=utf8mb4;
  707. -- 2020-03-09
  708. CREATE TABLE `reports_email_blacklist` (
  709. `ID` int(10) NOT NULL AUTO_INCREMENT,
  710. `Type` tinyint(4) NOT NULL DEFAULT '0',
  711. `UserID` int(10) NOT NULL,
  712. `Time` datetime,
  713. `Checked` tinyint(4) NOT NULL DEFAULT '0',
  714. `ResolverID` int(10) DEFAULT '0',
  715. `Email` varchar(255) NOT NULL DEFAULT '',
  716. PRIMARY KEY (`ID`),
  717. KEY `Time` (`Time`),
  718. KEY `UserID` (`UserID`)
  719. ) ENGINE=InnoDB CHARSET=utf8mb4;
  720. -- 2020-03-09
  721. CREATE TABLE `requests` (
  722. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  723. `UserID` int(10) unsigned NOT NULL DEFAULT '0',
  724. `TimeAdded` datetime,
  725. `LastVote` datetime DEFAULT NULL,
  726. `CategoryID` int(3) NOT NULL,
  727. `Title` varchar(255) DEFAULT NULL,
  728. `TitleRJ` varchar(255) DEFAULT NULL,
  729. `TitleJP` varchar(255) DEFAULT NULL,
  730. `Image` varchar(255) DEFAULT NULL,
  731. `Description` text,
  732. `CatalogueNumber` varchar(50) NOT NULL,
  733. `DLsiteID` varchar(50) DEFAULT NULL,
  734. `FillerID` int(10) unsigned NOT NULL DEFAULT '0',
  735. `TorrentID` int(10) unsigned NOT NULL DEFAULT '0',
  736. `TimeFilled` datetime,
  737. `Visible` binary(1) NOT NULL DEFAULT '1',
  738. `GroupID` int(10) DEFAULT '0',
  739. PRIMARY KEY (`ID`),
  740. KEY `Userid` (`UserID`),
  741. KEY `Name` (`Title`),
  742. KEY `Filled` (`TorrentID`),
  743. KEY `FillerID` (`FillerID`),
  744. KEY `TimeAdded` (`TimeAdded`),
  745. KEY `TimeFilled` (`TimeFilled`),
  746. KEY `LastVote` (`LastVote`),
  747. KEY `GroupID` (`GroupID`),
  748. KEY `NameJP` (`TitleJP`)
  749. ) ENGINE=InnoDB CHARSET=utf8mb4;
  750. -- 2020-03-09
  751. CREATE TABLE `requests_artists` (
  752. `RequestID` int(10) unsigned NOT NULL,
  753. `ArtistID` int(10) NOT NULL,
  754. PRIMARY KEY (`RequestID`, `ArtistID`)
  755. ) ENGINE=InnoDB CHARSET=utf8mb4;
  756. -- 2020-03-09
  757. CREATE TABLE `requests_tags` (
  758. `TagID` int(10) NOT NULL DEFAULT '0',
  759. `RequestID` int(10) NOT NULL DEFAULT '0',
  760. PRIMARY KEY (`TagID`,`RequestID`),
  761. KEY `TagID` (`TagID`),
  762. KEY `RequestID` (`RequestID`)
  763. ) ENGINE=InnoDB CHARSET=utf8mb4;
  764. -- 2020-03-09
  765. CREATE TABLE `requests_votes` (
  766. `RequestID` int(10) NOT NULL DEFAULT '0',
  767. `UserID` int(10) NOT NULL DEFAULT '0',
  768. `Bounty` bigint(20) unsigned NOT NULL,
  769. PRIMARY KEY (`RequestID`,`UserID`),
  770. KEY `RequestID` (`RequestID`),
  771. KEY `UserID` (`UserID`),
  772. KEY `Bounty` (`Bounty`)
  773. ) ENGINE=InnoDB CHARSET=utf8mb4;
  774. -- 2020-03-09
  775. CREATE TABLE `schedule` (
  776. `NextHour` int(2) NOT NULL DEFAULT '0',
  777. `NextDay` int(2) NOT NULL DEFAULT '0',
  778. `NextBiWeekly` int(2) NOT NULL DEFAULT '0'
  779. ) ENGINE=InnoDB CHARSET=utf8mb4;
  780. -- 2020-03-09
  781. CREATE TABLE `shop_freeleeches` (
  782. `TorrentID` int(10) NOT NULL,
  783. `ExpiryTime` datetime,
  784. PRIMARY KEY (`TorrentID`),
  785. KEY `ExpiryTime` (`ExpiryTime`)
  786. ) ENGINE=InnoDB CHARSET=utf8mb4;
  787. -- 2020-03-09
  788. CREATE TABLE `site_history` (
  789. `ID` int(10) NOT NULL AUTO_INCREMENT,
  790. `Title` varchar(255) DEFAULT NULL,
  791. `Url` varchar(255) NOT NULL DEFAULT '',
  792. `Category` tinyint(2) DEFAULT NULL,
  793. `SubCategory` tinyint(2) DEFAULT NULL,
  794. `Tags` mediumtext,
  795. `AddedBy` int(10) DEFAULT NULL,
  796. `Date` datetime DEFAULT NULL,
  797. `Body` mediumtext,
  798. PRIMARY KEY (`ID`)
  799. ) ENGINE=InnoDB CHARSET=utf8mb4;
  800. -- 2020-03-09
  801. CREATE TABLE `slaves` (
  802. `UserID` int(11) NOT NULL DEFAULT '0', -- todo: 11 vs. 10?
  803. `OwnerID` int(11) NOT NULL DEFAULT '0', -- todo
  804. PRIMARY KEY (`UserID`)
  805. ) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_swedish_ci;
  806. -- 2020-03-09
  807. CREATE TABLE `sphinx_a` (
  808. `gid` int(11) DEFAULT NULL, -- todo: 11 vs. 10?
  809. `aname` text,
  810. KEY `gid` (`gid`)
  811. ) ENGINE=InnoDB CHARSET=utf8mb4;
  812. -- 2020-03-09
  813. CREATE TABLE `sphinx_delta` (
  814. `ID` int(10) NOT NULL,
  815. `GroupID` int(10) NOT NULL DEFAULT '0',
  816. `GroupName` varchar(255) DEFAULT NULL,
  817. `GroupNameRJ` varchar(255) DEFAULT NULL,
  818. `GroupNameJP` varchar(255) DEFAULT NULL,
  819. `ArtistName` varchar(2048) DEFAULT NULL, -- todo: 2048 vs. 255?
  820. `TagList` varchar(728) DEFAULT NULL, -- todo: 728 vs. 500?
  821. `Year` int(4) DEFAULT NULL,
  822. `CatalogueNumber` varchar(50) DEFAULT NULL,
  823. `CategoryID` tinyint(2) DEFAULT NULL,
  824. `Time` int(12) DEFAULT NULL,
  825. `Size` bigint(20) DEFAULT NULL,
  826. `Snatched` int(10) DEFAULT NULL,
  827. `Seeders` int(10) DEFAULT NULL,
  828. `Leechers` int(10) DEFAULT NULL,
  829. `FreeTorrent` tinyint(1) DEFAULT NULL,
  830. `Media` varchar(255) DEFAULT NULL,
  831. `Container` varchar(255) DEFAULT NULL,
  832. `Codec` varchar(255) DEFAULT NULL,
  833. `Resolution` varchar(255) DEFAULT NULL,
  834. `AudioFormat` varchar(255) DEFAULT NULL,
  835. `Subbing` varchar(255) DEFAULT NULL,
  836. `Studio` varchar(100) DEFAULT NULL, -- todo: 100 vs. 255?
  837. `Series` varchar(100) DEFAULT NULL, -- todo
  838. `DLsiteID` varchar(25) DEFAULT NULL,
  839. `Language` varchar(255) DEFAULT NULL,
  840. `Censored` tinyint(1) NOT NULL DEFAULT '1',
  841. `FileList` mediumtext,
  842. `Description` text,
  843. `VoteScore` float NOT NULL DEFAULT '0',
  844. `LastChanged` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  845. PRIMARY KEY (`ID`),
  846. KEY `GroupID` (`GroupID`),
  847. KEY `Size` (`Size`)
  848. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  849. -- 2020-03-09
  850. CREATE TABLE `sphinx_index_last_pos` (
  851. `Type` varchar(16) NOT NULL DEFAULT '', -- todo: 16 vs. 25 vs. 50?
  852. `ID` int(11) DEFAULT NULL, -- todo: 11 vs. 10?
  853. PRIMARY KEY (`Type`)
  854. ) ENGINE=InnoDB CHARSET=utf8mb4;
  855. -- 2020-03-09
  856. CREATE TABLE `sphinx_requests` (
  857. `ID` int(10) unsigned NOT NULL,
  858. `UserID` int(10) unsigned NOT NULL DEFAULT '0',
  859. `TimeAdded` int(12) unsigned NOT NULL, -- todo: 12 vs. 10?
  860. `LastVote` int(12) unsigned NOT NULL, -- todo
  861. `CategoryID` int(3) NOT NULL,
  862. `Title` varchar(255) DEFAULT NULL,
  863. `TitleRJ` varchar(255) DEFAULT NULL,
  864. `TitleJP` varchar(255) DEFAULT NULL,
  865. `Year` int(4) DEFAULT NULL,
  866. `ArtistList` varchar(2048) DEFAULT NULL, -- todo: 2048 vs. 255?
  867. `CatalogueNumber` varchar(50) NOT NULL,
  868. `DLSiteID` varchar(50) NOT NULL,
  869. `FillerID` int(10) unsigned NOT NULL DEFAULT '0',
  870. `TorrentID` int(10) unsigned NOT NULL DEFAULT '0',
  871. `TimeFilled` int(12) unsigned NOT NULL, -- todo: 12 vs. 10?
  872. `Visible` binary(1) NOT NULL DEFAULT '1',
  873. `Bounty` bigint(20) unsigned NOT NULL DEFAULT '0',
  874. `Votes` int(10) unsigned NOT NULL DEFAULT '0',
  875. PRIMARY KEY (`ID`),
  876. KEY `Userid` (`UserID`),
  877. KEY `Name` (`Title`),
  878. KEY `Filled` (`TorrentID`),
  879. KEY `FillerID` (`FillerID`),
  880. KEY `TimeAdded` (`TimeAdded`),
  881. KEY `Year` (`Year`),
  882. KEY `TimeFilled` (`TimeFilled`),
  883. KEY `LastVote` (`LastVote`)
  884. ) ENGINE=InnoDB CHARSET=utf8mb4;
  885. -- 2020-03-09
  886. CREATE TABLE `sphinx_requests_delta` (
  887. `ID` int(10) unsigned NOT NULL,
  888. `UserID` int(10) unsigned NOT NULL DEFAULT '0',
  889. `TimeAdded` int(12) unsigned DEFAULT NULL, -- todo: 12 vs. 10?
  890. `LastVote` int(12) unsigned DEFAULT NULL, -- todo
  891. `CategoryID` tinyint(4) DEFAULT NULL,
  892. `Title` varchar(255) DEFAULT NULL,
  893. `TitleRJ` varchar(255) DEFAULT NULL,
  894. `TitleJP` varchar(255) DEFAULT NULL,
  895. `TagList` varchar(728) NOT NULL DEFAULT '', -- todo: 728 vs. 500?
  896. `ArtistList` varchar(2048) DEFAULT NULL, -- todo: 2048 vs. 255?
  897. `CatalogueNumber` varchar(50) DEFAULT NULL,
  898. `DLSiteID` varchar(50) DEFAULT NULL,
  899. `FillerID` int(10) unsigned NOT NULL DEFAULT '0',
  900. `TorrentID` int(10) unsigned NOT NULL DEFAULT '0',
  901. `TimeFilled` int(12) unsigned DEFAULT NULL, -- todo: 12 vs. 10?
  902. `Visible` binary(1) NOT NULL DEFAULT '1',
  903. `Bounty` bigint(20) unsigned NOT NULL DEFAULT '0',
  904. `Votes` int(10) unsigned NOT NULL DEFAULT '0',
  905. PRIMARY KEY (`ID`),
  906. KEY `Userid` (`UserID`),
  907. KEY `Name` (`Title`),
  908. KEY `Filled` (`TorrentID`),
  909. KEY `FillerID` (`FillerID`),
  910. KEY `TimeAdded` (`TimeAdded`),
  911. KEY `TimeFilled` (`TimeFilled`),
  912. KEY `LastVote` (`LastVote`)
  913. ) ENGINE=InnoDB CHARSET=utf8mb4;
  914. -- 2020-03-09
  915. CREATE TABLE `sphinx_t` (
  916. `id` int(11) NOT NULL, -- todo: 11 vs. 10?
  917. `gid` int(11) NOT NULL, -- todo
  918. `uid` int(11) NOT NULL, -- todo
  919. `size` bigint(20) NOT NULL,
  920. `snatched` int(11) NOT NULL, -- todo: 11 vs. 10?
  921. `seeders` int(11) NOT NULL, -- todo
  922. `leechers` int(11) NOT NULL, -- todo
  923. `time` int(11) NOT NULL, -- todo
  924. `freetorrent` tinyint(4) NOT NULL,
  925. `media` varchar(25) NOT NULL,
  926. `container` varchar(25) NOT NULL,
  927. `resolution` varchar(25) NOT NULL,
  928. `codec` varchar(25) NOT NULL,
  929. `audioformat` varchar(25) NOT NULL,
  930. `subbing` varchar(25) NOT NULL,
  931. `language` varchar(25) NOT NULL,
  932. `filelist` mediumtext,
  933. `description` text,
  934. `subber` varchar(30) NOT NULL, -- todo: 30 vs. 25 vs. 50?
  935. `censored` tinyint(1) NOT NULL,
  936. PRIMARY KEY (`id`),
  937. KEY `gid` (`gid`)
  938. ) ENGINE=InnoDB CHARSET=utf8mb4;
  939. -- 2020-03-09
  940. CREATE TABLE `sphinx_tg` (
  941. `id` int(11) NOT NULL, -- todo: 11 vs. 10?
  942. `name` varchar(255) DEFAULT NULL,
  943. `namerj` varchar(255) DEFAULT NULL,
  944. `namejp` varchar(255) DEFAULT NULL,
  945. `tags` varchar(500) DEFAULT NULL,
  946. `year` smallint(6) DEFAULT NULL, -- todo: 6 vs. 4?
  947. `cnumber` varchar(50) DEFAULT NULL,
  948. `studio` varchar(255) DEFAULT NULL,
  949. `series` varchar(255) DEFAULT NULL,
  950. `catid` smallint(6) DEFAULT NULL,
  951. `dlsid` varchar(15) NOT NULL, -- todo: 15 vs. 25 vs. 50?
  952. PRIMARY KEY (`id`)
  953. ) ENGINE=InnoDB CHARSET=utf8mb4;
  954. -- 2020-03-09
  955. CREATE TABLE `staff_answers` (
  956. `QuestionID` int(10) NOT NULL,
  957. `UserID` int(10) NOT NULL,
  958. `Answer` mediumtext,
  959. `Date` datetime,
  960. PRIMARY KEY (`QuestionID`,`UserID`),
  961. KEY `UserID` (`UserID`)
  962. ) ENGINE=InnoDB CHARSET=utf8mb4;
  963. -- 2020-03-09
  964. CREATE TABLE `staff_blog` (
  965. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  966. `UserID` int(10) unsigned NOT NULL,
  967. `Title` varchar(255) NOT NULL,
  968. `Body` text,
  969. `Time` datetime,
  970. PRIMARY KEY (`ID`),
  971. KEY `UserID` (`UserID`),
  972. KEY `Time` (`Time`)
  973. ) ENGINE=InnoDB CHARSET=utf8mb4;
  974. -- 2020-03-09
  975. CREATE TABLE `staff_blog_visits` (
  976. `UserID` int(10) unsigned NOT NULL,
  977. `Time` datetime,
  978. UNIQUE KEY `UserID` (`UserID`),
  979. CONSTRAINT `staff_blog_visits_ibfk_1` FOREIGN KEY (`UserID`) REFERENCES `users_main` (`ID`) ON DELETE CASCADE
  980. ) ENGINE=InnoDB CHARSET=utf8mb4;
  981. -- 2020-03-09
  982. CREATE TABLE `staff_ignored_questions` (
  983. `QuestionID` int(10) NOT NULL,
  984. `UserID` int(10) NOT NULL,
  985. PRIMARY KEY (`QuestionID`,`UserID`)
  986. ) ENGINE=InnoDB CHARSET=utf8mb4;
  987. -- 2020-03-09
  988. CREATE TABLE `staff_pm_conversations` (
  989. `ID` int(11) NOT NULL AUTO_INCREMENT, -- todo: 11 vs. 10?
  990. `Subject` text,
  991. `UserID` int(11) DEFAULT NULL, -- todo: 11 vs. 10?
  992. `Status` enum('Open','Unanswered','Resolved') DEFAULT NULL,
  993. `Level` int(11) DEFAULT NULL, -- todo: 11 vs. 10?
  994. `AssignedToUser` int(11) DEFAULT NULL, -- todo
  995. `Date` datetime DEFAULT NULL,
  996. `Unread` tinyint(1) DEFAULT NULL,
  997. `ResolverID` int(11) DEFAULT NULL, -- todo: 11 vs. 10?
  998. PRIMARY KEY (`ID`),
  999. KEY `StatusAssigned` (`Status`,`AssignedToUser`),
  1000. KEY `StatusLevel` (`Status`,`Level`)
  1001. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1002. -- 2020-03-09
  1003. CREATE TABLE `staff_pm_messages` (
  1004. `ID` int(11) NOT NULL AUTO_INCREMENT, -- todo: 11 vs. 10?
  1005. `UserID` int(11) DEFAULT NULL, -- todo
  1006. `SentDate` datetime DEFAULT NULL,
  1007. `Message` text,
  1008. `ConvID` int(11) DEFAULT NULL, -- todo: 11 vs. 10?
  1009. PRIMARY KEY (`ID`)
  1010. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1011. -- 2020-03-09
  1012. CREATE TABLE `staff_pm_responses` (
  1013. `ID` int(11) NOT NULL AUTO_INCREMENT, -- todo: 11 vs. 10?
  1014. `Message` text,
  1015. `Name` text,
  1016. PRIMARY KEY (`ID`)
  1017. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1018. -- 2020-03-09
  1019. CREATE TABLE `stylesheets` (
  1020. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  1021. `Name` varchar(255) NOT NULL,
  1022. `Description` varchar(255) NOT NULL,
  1023. `Default` enum('0','1') NOT NULL DEFAULT '0',
  1024. `Additions` text,
  1025. `Color` varchar(7), -- #deadbe
  1026. PRIMARY KEY (`ID`)
  1027. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1028. -- 2020-03-09
  1029. CREATE TABLE `styles_backup` (
  1030. `UserID` int(10) NOT NULL DEFAULT '0',
  1031. `StyleID` int(10) DEFAULT NULL,
  1032. `StyleURL` varchar(255) DEFAULT NULL,
  1033. PRIMARY KEY (`UserID`),
  1034. KEY `StyleURL` (`StyleURL`)
  1035. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1036. -- todo: Start again here
  1037. CREATE TABLE `tag_aliases` (
  1038. `ID` int(10) NOT NULL AUTO_INCREMENT,
  1039. `BadTag` varchar(255) DEFAULT NULL,
  1040. `AliasTag` varchar(255) DEFAULT NULL,
  1041. PRIMARY KEY (`ID`),
  1042. KEY `BadTag` (`BadTag`),
  1043. KEY `AliasTag` (`AliasTag`)
  1044. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1045. CREATE TABLE `tags` (
  1046. `ID` int(10) NOT NULL AUTO_INCREMENT,
  1047. `Name` varchar(100) DEFAULT NULL,
  1048. `TagType` enum('genre','other') NOT NULL DEFAULT 'other',
  1049. `Uses` int(12) NOT NULL DEFAULT '1',
  1050. `UserID` int(10) DEFAULT NULL,
  1051. PRIMARY KEY (`ID`),
  1052. UNIQUE KEY `Name_2` (`Name`),
  1053. KEY `TagType` (`TagType`),
  1054. KEY `Uses` (`Uses`),
  1055. KEY `UserID` (`UserID`)
  1056. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1057. CREATE TABLE `top10_history` (
  1058. `ID` int(10) NOT NULL AUTO_INCREMENT,
  1059. `Date` datetime,
  1060. `Type` enum('Daily','Weekly') DEFAULT NULL,
  1061. PRIMARY KEY (`ID`)
  1062. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1063. CREATE TABLE `top10_history_torrents` (
  1064. `HistoryID` int(10) NOT NULL DEFAULT '0',
  1065. `Rank` tinyint(2) NOT NULL DEFAULT '0',
  1066. `TorrentID` int(10) NOT NULL DEFAULT '0',
  1067. `TitleString` varchar(150) NOT NULL DEFAULT '',
  1068. `TagString` varchar(100) NOT NULL DEFAULT ''
  1069. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1070. CREATE TABLE `top_snatchers` (
  1071. `UserID` int(10) unsigned NOT NULL,
  1072. PRIMARY KEY (`UserID`)
  1073. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1074. CREATE TABLE `torrents` (
  1075. `ID` int(10) NOT NULL AUTO_INCREMENT,
  1076. `GroupID` int(10) NOT NULL DEFAULT '0',
  1077. `UserID` int(10) DEFAULT NULL,
  1078. `Media` varchar(25) DEFAULT NULL,
  1079. `Container` varchar(25) DEFAULT NULL,
  1080. `Codec` varchar(25) DEFAULT NULL,
  1081. `Resolution` varchar(25) DEFAULT NULL,
  1082. `AudioFormat` varchar(10) DEFAULT NULL,
  1083. `Subbing` varchar(10) DEFAULT NULL,
  1084. `Language` varchar(25) DEFAULT NULL,
  1085. `Censored` tinyint(1) NOT NULL DEFAULT '1',
  1086. `Anonymous` tinyint(1) NOT NULL DEFAULT '0',
  1087. `info_hash` blob NOT NULL,
  1088. `FileCount` int(6) NOT NULL DEFAULT '0',
  1089. `FileList` mediumtext,
  1090. `FilePath` varchar(255) NOT NULL DEFAULT '',
  1091. `Size` bigint(12) NOT NULL DEFAULT '0',
  1092. `Leechers` int(6) NOT NULL DEFAULT '0',
  1093. `Seeders` int(6) NOT NULL DEFAULT '0',
  1094. `last_action` datetime,
  1095. `FreeTorrent` enum('0','1','2') NOT NULL DEFAULT '0',
  1096. `FreeLeechType` enum('0','1','2','3','4') NOT NULL DEFAULT '0',
  1097. `Time` datetime,
  1098. `Description` text,
  1099. `MediaInfo` text,
  1100. `Snatched` int(10) unsigned NOT NULL DEFAULT '0',
  1101. `balance` bigint(20) NOT NULL DEFAULT '0',
  1102. `LastReseedRequest` datetime,
  1103. `Subber` varchar(255) NOT NULL DEFAULT '',
  1104. `Archive` varchar(10) NOT NULL DEFAULT '',
  1105. PRIMARY KEY (`ID`),
  1106. UNIQUE KEY `InfoHash` (`info_hash`(40)),
  1107. KEY `GroupID` (`GroupID`),
  1108. KEY `UserID` (`UserID`),
  1109. KEY `Media` (`Media`),
  1110. KEY `Container` (`Container`),
  1111. KEY `Codec` (`Codec`),
  1112. KEY `Resolution` (`Resolution`),
  1113. KEY `AudioFormat` (`AudioFormat`),
  1114. KEY `Subbing` (`Subbing`),
  1115. KEY `Language` (`Language`),
  1116. KEY `FileCount` (`FileCount`),
  1117. KEY `Size` (`Size`),
  1118. KEY `Seeders` (`Seeders`),
  1119. KEY `Leechers` (`Leechers`),
  1120. KEY `last_action` (`last_action`),
  1121. KEY `Time` (`Time`),
  1122. KEY `FreeTorrent` (`FreeTorrent`)
  1123. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1124. CREATE TABLE `torrents_artists` (
  1125. `GroupID` int(10) NOT NULL,
  1126. `ArtistID` int(10) NOT NULL,
  1127. `UserID` int(10) unsigned NOT NULL DEFAULT '0',
  1128. PRIMARY KEY (`GroupID`,`ArtistID`),
  1129. KEY `ArtistID` (`ArtistID`),
  1130. KEY `GroupID` (`GroupID`),
  1131. KEY `UserID` (`UserID`)
  1132. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1133. CREATE TABLE `torrents_bad_files` (
  1134. `TorrentID` int(11) NOT NULL DEFAULT '0',
  1135. `UserID` int(11) NOT NULL DEFAULT '0',
  1136. `TimeAdded` datetime
  1137. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1138. CREATE TABLE `torrents_bad_folders` (
  1139. `TorrentID` int(11) NOT NULL,
  1140. `UserID` int(11) NOT NULL,
  1141. `TimeAdded` datetime,
  1142. PRIMARY KEY (`TorrentID`)
  1143. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1144. CREATE TABLE `torrents_bad_tags` (
  1145. `TorrentID` int(10) NOT NULL DEFAULT '0',
  1146. `UserID` int(10) NOT NULL DEFAULT '0',
  1147. `TimeAdded` datetime,
  1148. KEY `TimeAdded` (`TimeAdded`)
  1149. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1150. CREATE TABLE `torrents_group` (
  1151. `ID` int(10) NOT NULL AUTO_INCREMENT,
  1152. `CategoryID` int(10) DEFAULT NULL,
  1153. `Name` varchar(255) DEFAULT NULL,
  1154. `NameRJ` varchar(255) DEFAULT NULL,
  1155. `NameJP` varchar(255) DEFAULT NULL,
  1156. `Year` int(4) DEFAULT NULL,
  1157. `Studio` varchar(100) NOT NULL DEFAULT '',
  1158. `Series` varchar(100) NOT NULL DEFAULT '',
  1159. `CatalogueNumber` varchar(50) NOT NULL DEFAULT '',
  1160. `Pages` smallint(5) unsigned DEFAULT NULL,
  1161. `TagList` varchar(500) NOT NULL DEFAULT '',
  1162. `Time` datetime,
  1163. `RevisionID` int(12) DEFAULT NULL,
  1164. `WikiBody` text,
  1165. `WikiImage` varchar(255) NOT NULL,
  1166. `DLsiteID` varchar(25) NOT NULL DEFAULT '',
  1167. PRIMARY KEY (`ID`),
  1168. KEY `CategoryID` (`CategoryID`),
  1169. KEY `Name` (`Name`(255)),
  1170. KEY `Year` (`Year`),
  1171. KEY `Time` (`Time`),
  1172. KEY `RevisionID` (`RevisionID`)
  1173. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1174. CREATE TABLE `torrents_logs_new` (
  1175. `LogID` int(10) NOT NULL AUTO_INCREMENT,
  1176. `TorrentID` int(10) NOT NULL DEFAULT '0',
  1177. `Log` mediumtext,
  1178. `Details` mediumtext,
  1179. `Score` int(3) NOT NULL,
  1180. `Revision` int(3) NOT NULL,
  1181. `Adjusted` enum('1','0') NOT NULL DEFAULT '0',
  1182. `AdjustedBy` int(10) NOT NULL DEFAULT '0',
  1183. `NotEnglish` enum('1','0') NOT NULL DEFAULT '0',
  1184. `AdjustmentReason` text,
  1185. PRIMARY KEY (`LogID`),
  1186. KEY `TorrentID` (`TorrentID`)
  1187. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1188. CREATE TABLE `torrents_peerlists` (
  1189. `TorrentID` int(11) NOT NULL,
  1190. `GroupID` int(11) DEFAULT NULL,
  1191. `Seeders` int(11) DEFAULT NULL,
  1192. `Leechers` int(11) DEFAULT NULL,
  1193. `Snatches` int(11) DEFAULT NULL,
  1194. PRIMARY KEY (`TorrentID`),
  1195. KEY `GroupID` (`GroupID`),
  1196. KEY `Stats` (`TorrentID`,`Seeders`,`Leechers`,`Snatches`)
  1197. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  1198. CREATE TABLE `torrents_peerlists_compare` (
  1199. `TorrentID` int(11) NOT NULL,
  1200. `GroupID` int(11) DEFAULT NULL,
  1201. `Seeders` int(11) DEFAULT NULL,
  1202. `Leechers` int(11) DEFAULT NULL,
  1203. `Snatches` int(11) DEFAULT NULL,
  1204. PRIMARY KEY (`TorrentID`),
  1205. KEY `GroupID` (`GroupID`),
  1206. KEY `Stats` (`TorrentID`,`Seeders`,`Leechers`,`Snatches`)
  1207. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  1208. CREATE TABLE `torrents_recommended` (
  1209. `GroupID` int(10) NOT NULL,
  1210. `UserID` int(10) NOT NULL,
  1211. `Time` datetime,
  1212. PRIMARY KEY (`GroupID`),
  1213. KEY `Time` (`Time`)
  1214. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1215. CREATE TABLE `torrents_screenshots` (
  1216. `ID` int(10) NOT NULL AUTO_INCREMENT,
  1217. `GroupID` int(10) NOT NULL,
  1218. `UserID` int(10) NOT NULL,
  1219. `Time` datetime,
  1220. `Image` varchar(255) NOT NULL,
  1221. PRIMARY KEY (`ID`,`GroupID`,`Image`)
  1222. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1223. CREATE TABLE `torrents_mirrors` (
  1224. `ID` int(10) NOT NULL AUTO_INCREMENT,
  1225. `GroupID` int(10) NOT NULL,
  1226. `UserID` int(10) NOT NULL,
  1227. `Time` datetime,
  1228. `Resource` varchar(255) NOT NULL,
  1229. PRIMARY KEY (`ID`,`GroupID`,`Resource`)
  1230. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1231. CREATE TABLE `torrents_tags` (
  1232. `TagID` int(10) NOT NULL DEFAULT '0',
  1233. `GroupID` int(10) NOT NULL DEFAULT '0',
  1234. `UserID` int(10) DEFAULT NULL,
  1235. PRIMARY KEY (`TagID`,`GroupID`),
  1236. KEY `TagID` (`TagID`),
  1237. KEY `GroupID` (`GroupID`),
  1238. KEY `UserID` (`UserID`)
  1239. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1240. CREATE TABLE `u2f` (
  1241. `UserID` int(10) NOT NULL,
  1242. `KeyHandle` varchar(255) NOT NULL,
  1243. `PublicKey` varchar(255) NOT NULL,
  1244. `Certificate` text,
  1245. `Counter` int(10) NOT NULL DEFAULT '-1',
  1246. `Valid` enum('0','1') NOT NULL DEFAULT '1',
  1247. PRIMARY KEY (`UserID`,`KeyHandle`)
  1248. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1249. CREATE TABLE `user_questions` (
  1250. `ID` int(10) NOT NULL AUTO_INCREMENT,
  1251. `Question` mediumtext,
  1252. `UserID` int(10) NOT NULL,
  1253. `Date` datetime,
  1254. PRIMARY KEY (`ID`),
  1255. KEY `Date` (`Date`)
  1256. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1257. CREATE TABLE `users_badges` (
  1258. `UserID` int(10) NOT NULL,
  1259. `BadgeID` int(10) NOT NULL,
  1260. `Displayed` tinyint(1) DEFAULT '0',
  1261. PRIMARY KEY (`UserID`,`BadgeID`)
  1262. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1263. CREATE TABLE `users_collage_subs` (
  1264. `UserID` int(10) NOT NULL,
  1265. `CollageID` int(10) NOT NULL,
  1266. `LastVisit` datetime DEFAULT NULL,
  1267. PRIMARY KEY (`UserID`,`CollageID`),
  1268. KEY `CollageID` (`CollageID`)
  1269. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1270. CREATE TABLE `users_comments_last_read` (
  1271. `UserID` int(10) NOT NULL,
  1272. `Page` enum('artist','collages','requests','torrents') NOT NULL,
  1273. `PageID` int(10) NOT NULL,
  1274. `PostID` int(10) NOT NULL,
  1275. PRIMARY KEY (`UserID`,`Page`,`PageID`),
  1276. KEY `Page` (`Page`,`PageID`)
  1277. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1278. CREATE TABLE `users_donor_ranks` (
  1279. `UserID` int(10) NOT NULL DEFAULT '0',
  1280. `Rank` tinyint(2) NOT NULL DEFAULT '0',
  1281. `DonationTime` datetime DEFAULT NULL,
  1282. `Hidden` tinyint(2) NOT NULL DEFAULT '0',
  1283. `TotalRank` int(10) NOT NULL DEFAULT '0',
  1284. `SpecialRank` tinyint(2) DEFAULT '0',
  1285. `InvitesRecievedRank` tinyint(4) DEFAULT '0',
  1286. `RankExpirationTime` datetime DEFAULT NULL,
  1287. PRIMARY KEY (`UserID`),
  1288. KEY `DonationTime` (`DonationTime`),
  1289. KEY `SpecialRank` (`SpecialRank`),
  1290. KEY `Rank` (`Rank`),
  1291. KEY `TotalRank` (`TotalRank`)
  1292. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1293. CREATE TABLE `users_downloads` (
  1294. `UserID` int(10) NOT NULL,
  1295. `TorrentID` int(1) NOT NULL,
  1296. `Time` datetime,
  1297. PRIMARY KEY (`UserID`,`TorrentID`,`Time`),
  1298. KEY `TorrentID` (`TorrentID`),
  1299. KEY `UserID` (`UserID`)
  1300. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1301. CREATE TABLE `users_dupes` (
  1302. `GroupID` int(10) unsigned NOT NULL,
  1303. `UserID` int(10) unsigned NOT NULL,
  1304. UNIQUE KEY `UserID` (`UserID`),
  1305. KEY `GroupID` (`GroupID`),
  1306. CONSTRAINT `users_dupes_ibfk_1` FOREIGN KEY (`UserID`) REFERENCES `users_main` (`ID`) ON DELETE CASCADE,
  1307. CONSTRAINT `users_dupes_ibfk_2` FOREIGN KEY (`GroupID`) REFERENCES `dupe_groups` (`ID`) ON DELETE CASCADE
  1308. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1309. CREATE TABLE `users_enable_recommendations` (
  1310. `ID` int(10) NOT NULL,
  1311. `Enable` tinyint(1) DEFAULT NULL,
  1312. PRIMARY KEY (`ID`),
  1313. KEY `Enable` (`Enable`)
  1314. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1315. CREATE TABLE `users_enable_requests` (
  1316. `ID` int(11) NOT NULL AUTO_INCREMENT,
  1317. `UserID` int(10) unsigned NOT NULL,
  1318. `Email` varchar(255) NOT NULL,
  1319. `IP` varchar(255) NOT NULL DEFAULT 'mIbUEUEmV93bF6C5i6cITAlcw3H7TKcaPzZZIMIZQNQ=',
  1320. `UserAgent` text,
  1321. `Timestamp` datetime,
  1322. `HandledTimestamp` datetime DEFAULT NULL,
  1323. `Token` char(32) DEFAULT NULL,
  1324. `CheckedBy` int(10) unsigned DEFAULT NULL,
  1325. `Outcome` tinyint(1) DEFAULT NULL COMMENT '1 for approved, 2 for denied, 3 for discarded',
  1326. PRIMARY KEY (`ID`),
  1327. KEY `UserId` (`UserID`),
  1328. KEY `CheckedBy` (`CheckedBy`),
  1329. CONSTRAINT `users_enable_requests_ibfk_1` FOREIGN KEY (`UserID`) REFERENCES `users_main` (`ID`),
  1330. CONSTRAINT `users_enable_requests_ibfk_2` FOREIGN KEY (`CheckedBy`) REFERENCES `users_main` (`ID`)
  1331. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1332. CREATE TABLE `users_freeleeches` (
  1333. `UserID` int(10) NOT NULL,
  1334. `TorrentID` int(10) NOT NULL,
  1335. `Time` datetime,
  1336. `Expired` tinyint(1) NOT NULL DEFAULT '0',
  1337. `Downloaded` bigint(20) NOT NULL DEFAULT '0',
  1338. `Uses` int(10) NOT NULL DEFAULT '1',
  1339. PRIMARY KEY (`UserID`,`TorrentID`),
  1340. KEY `Time` (`Time`),
  1341. KEY `Expired_Time` (`Expired`,`Time`)
  1342. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1343. CREATE TABLE `users_geodistribution` (
  1344. `Code` varchar(2) NOT NULL,
  1345. `Users` int(10) NOT NULL
  1346. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1347. CREATE TABLE `users_history_emails` (
  1348. `UserID` int(10) NOT NULL,
  1349. `Email` varchar(255) DEFAULT NULL,
  1350. `Time` datetime DEFAULT NULL,
  1351. `IP` varchar(90) DEFAULT NULL,
  1352. KEY `UserID` (`UserID`)
  1353. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1354. CREATE TABLE `users_history_ips` (
  1355. `UserID` int(10) NOT NULL,
  1356. `IP` varchar(90) NOT NULL DEFAULT '0.0.0.0',
  1357. `StartTime` datetime,
  1358. `EndTime` datetime DEFAULT NULL,
  1359. PRIMARY KEY (`UserID`,`IP`,`StartTime`),
  1360. KEY `UserID` (`UserID`),
  1361. KEY `IP` (`IP`),
  1362. KEY `StartTime` (`StartTime`),
  1363. KEY `EndTime` (`EndTime`)
  1364. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1365. CREATE TABLE `users_history_passkeys` (
  1366. `UserID` int(10) NOT NULL,
  1367. `OldPassKey` varchar(32) DEFAULT NULL,
  1368. `NewPassKey` varchar(32) DEFAULT NULL,
  1369. `ChangeTime` datetime DEFAULT NULL,
  1370. `ChangerIP` varchar(90) DEFAULT NULL
  1371. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1372. CREATE TABLE `users_history_passwords` (
  1373. `UserID` int(10) NOT NULL,
  1374. `ChangeTime` datetime DEFAULT NULL,
  1375. `ChangerIP` varchar(90) DEFAULT NULL,
  1376. KEY `User_Time` (`UserID`,`ChangeTime`)
  1377. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1378. CREATE TABLE `users_info` (
  1379. `UserID` int(10) unsigned NOT NULL,
  1380. `StyleID` int(10) unsigned NOT NULL,
  1381. `StyleURL` varchar(255) DEFAULT NULL,
  1382. `Info` text,
  1383. `Avatar` varchar(255),
  1384. `AdminComment` text,
  1385. `SiteOptions` text,
  1386. `ViewAvatars` enum('0','1') NOT NULL DEFAULT '1',
  1387. `Donor` enum('0','1') NOT NULL DEFAULT '0',
  1388. `Artist` enum('0','1') NOT NULL DEFAULT '0',
  1389. `Warned` datetime,
  1390. `SupportFor` varchar(255),
  1391. `TorrentGrouping` enum('0','1','2') NOT NULL COMMENT '0=Open,1=Closed,2=Off',
  1392. `ShowTags` enum('0','1') NOT NULL DEFAULT '1',
  1393. `NotifyOnQuote` enum('0','1','2') NOT NULL DEFAULT '0',
  1394. `AuthKey` varchar(32) NOT NULL DEFAULT '',
  1395. `ResetKey` varchar(32) NOT NULL DEFAULT '',
  1396. `ResetExpires` datetime,
  1397. `JoinDate` datetime,
  1398. `Inviter` int(10) DEFAULT NULL,
  1399. `BitcoinAddress` varchar(34) DEFAULT NULL,
  1400. `WarnedTimes` int(2) NOT NULL DEFAULT '0',
  1401. `DisableAvatar` enum('0','1') NOT NULL DEFAULT '0',
  1402. `DisableInvites` enum('0','1') NOT NULL DEFAULT '0',
  1403. `DisablePosting` enum('0','1') NOT NULL DEFAULT '0',
  1404. `DisableForums` enum('0','1') NOT NULL DEFAULT '0',
  1405. `DisableIRC` enum('0','1') DEFAULT '0',
  1406. `DisableTagging` enum('0','1') NOT NULL DEFAULT '0',
  1407. `DisableUpload` enum('0','1') NOT NULL DEFAULT '0',
  1408. `DisableWiki` enum('0','1') NOT NULL DEFAULT '0',
  1409. `DisablePM` enum('0','1') NOT NULL DEFAULT '0',
  1410. `DisablePoints` enum('0','1') NOT NULL DEFAULT '0',
  1411. `DisablePromotion` enum('0','1') NOT NULL DEFAULT '0',
  1412. `DisableRequests` enum('0','1') NOT NULL DEFAULT '0',
  1413. `RatioWatchEnds` datetime,
  1414. `RatioWatchDownload` bigint(20) unsigned NOT NULL DEFAULT '0',
  1415. `RatioWatchTimes` tinyint(1) unsigned NOT NULL DEFAULT '0',
  1416. `BanDate` datetime,
  1417. `BanReason` enum('0','1','2','3','4') NOT NULL DEFAULT '0',
  1418. `CatchupTime` datetime DEFAULT NULL,
  1419. `LastReadNews` int(10) NOT NULL DEFAULT '0',
  1420. `HideCountryChanges` enum('0','1') NOT NULL DEFAULT '0',
  1421. `RestrictedForums` varchar(150) NOT NULL DEFAULT '',
  1422. `PermittedForums` varchar(150) NOT NULL DEFAULT '',
  1423. `UnseededAlerts` enum('0','1') NOT NULL DEFAULT '0',
  1424. `LastReadBlog` int(10) NOT NULL DEFAULT '0',
  1425. `InfoTitle` varchar(255) NOT NULL DEFAULT '',
  1426. UNIQUE KEY `UserID` (`UserID`),
  1427. KEY `SupportFor` (`SupportFor`),
  1428. KEY `DisableInvites` (`DisableInvites`),
  1429. KEY `Donor` (`Donor`),
  1430. KEY `Warned` (`Warned`),
  1431. KEY `JoinDate` (`JoinDate`),
  1432. KEY `Inviter` (`Inviter`),
  1433. KEY `RatioWatchEnds` (`RatioWatchEnds`),
  1434. KEY `RatioWatchDownload` (`RatioWatchDownload`),
  1435. KEY `BitcoinAddress` (`BitcoinAddress`(4)),
  1436. KEY `AuthKey` (`AuthKey`),
  1437. KEY `ResetKey` (`ResetKey`)
  1438. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1439. CREATE TABLE `users_levels` (
  1440. `UserID` int(10) unsigned NOT NULL,
  1441. `PermissionID` int(10) unsigned NOT NULL,
  1442. PRIMARY KEY (`UserID`,`PermissionID`),
  1443. KEY `PermissionID` (`PermissionID`)
  1444. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1445. CREATE TABLE `users_main` (
  1446. `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  1447. `Username` varchar(25) NOT NULL DEFAULT '',
  1448. `Email` varchar(255) NOT NULL DEFAULT '',
  1449. `PassHash` varchar(60) NOT NULL DEFAULT '',
  1450. `TwoFactor` varchar(255) DEFAULT NULL,
  1451. `PublicKey` text,
  1452. `IRCKey` char(32) DEFAULT NULL,
  1453. `LastLogin` datetime,
  1454. `LastAccess` datetime,
  1455. `IP` varchar(90) NOT NULL DEFAULT '0.0.0.0',
  1456. `Class` tinyint(2) NOT NULL DEFAULT '5',
  1457. `Uploaded` bigint(20) unsigned NOT NULL DEFAULT '0',
  1458. `Downloaded` bigint(20) unsigned NOT NULL DEFAULT '0',
  1459. `Title` text,
  1460. `Enabled` enum('0','1','2') NOT NULL DEFAULT '0',
  1461. `Paranoia` text,
  1462. `Visible` enum('1','0') NOT NULL DEFAULT '1',
  1463. `Invites` int(10) unsigned NOT NULL DEFAULT '0',
  1464. `PermissionID` int(10) unsigned NOT NULL DEFAULT '0',
  1465. `CustomPermissions` text,
  1466. `can_leech` tinyint(4) NOT NULL DEFAULT '1',
  1467. `torrent_pass` char(32) NOT NULL DEFAULT '',
  1468. `RequiredRatio` double(10,8) NOT NULL DEFAULT '0.00000000',
  1469. `RequiredRatioWork` double(10,8) NOT NULL DEFAULT '0.00000000',
  1470. `ipcc` varchar(2) NOT NULL DEFAULT '',
  1471. `FLTokens` int(10) NOT NULL DEFAULT '0',
  1472. `BonusPoints` int(10) unsigned NOT NULL DEFAULT '0',
  1473. `IRCLines` int(10) unsigned NOT NULL DEFAULT '0',
  1474. `HnR` int(10) NOT NULL DEFAULT '0',
  1475. PRIMARY KEY (`ID`),
  1476. UNIQUE KEY `Username` (`Username`),
  1477. KEY `Email` (`Email`),
  1478. KEY `PassHash` (`PassHash`),
  1479. KEY `LastAccess` (`LastAccess`),
  1480. KEY `IP` (`IP`),
  1481. KEY `Class` (`Class`),
  1482. KEY `Uploaded` (`Uploaded`),
  1483. KEY `Downloaded` (`Downloaded`),
  1484. KEY `Enabled` (`Enabled`),
  1485. KEY `Invites` (`Invites`),
  1486. KEY `torrent_pass` (`torrent_pass`),
  1487. KEY `RequiredRatio` (`RequiredRatio`),
  1488. KEY `cc_index` (`ipcc`),
  1489. KEY `PermissionID` (`PermissionID`)
  1490. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1491. CREATE TABLE `users_notifications_settings` (
  1492. `UserID` int(10) NOT NULL DEFAULT '0',
  1493. `Inbox` tinyint(1) DEFAULT '1',
  1494. `StaffPM` tinyint(1) DEFAULT '1',
  1495. `News` tinyint(1) DEFAULT '1',
  1496. `Blog` tinyint(1) DEFAULT '1',
  1497. `Torrents` tinyint(1) DEFAULT '1',
  1498. `Collages` tinyint(1) DEFAULT '1',
  1499. `Quotes` tinyint(1) DEFAULT '1',
  1500. `Subscriptions` tinyint(1) DEFAULT '1',
  1501. `SiteAlerts` tinyint(1) DEFAULT '1',
  1502. `RequestAlerts` tinyint(1) DEFAULT '1',
  1503. `CollageAlerts` tinyint(1) DEFAULT '1',
  1504. `TorrentAlerts` tinyint(1) DEFAULT '1',
  1505. `ForumAlerts` tinyint(1) DEFAULT '1',
  1506. PRIMARY KEY (`UserID`)
  1507. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1508. CREATE TABLE `users_notify_filters` (
  1509. `ID` int(12) NOT NULL AUTO_INCREMENT,
  1510. `UserID` int(10) NOT NULL,
  1511. `Label` varchar(128) NOT NULL DEFAULT '',
  1512. `Artists` mediumtext,
  1513. `RecordLabels` mediumtext,
  1514. `Users` mediumtext,
  1515. `Tags` varchar(500) NOT NULL DEFAULT '',
  1516. `NotTags` varchar(500) NOT NULL DEFAULT '',
  1517. `Categories` varchar(500) NOT NULL DEFAULT '',
  1518. `Formats` varchar(500) NOT NULL DEFAULT '',
  1519. `Encodings` varchar(500) NOT NULL DEFAULT '',
  1520. `Media` varchar(500) NOT NULL DEFAULT '',
  1521. `FromYear` int(4) NOT NULL DEFAULT '0',
  1522. `ToYear` int(4) NOT NULL DEFAULT '0',
  1523. `ExcludeVA` enum('1','0') NOT NULL DEFAULT '0',
  1524. `NewGroupsOnly` enum('1','0') NOT NULL DEFAULT '0',
  1525. `ReleaseTypes` varchar(500) NOT NULL DEFAULT '',
  1526. PRIMARY KEY (`ID`),
  1527. KEY `UserID` (`UserID`),
  1528. KEY `FromYear` (`FromYear`),
  1529. KEY `ToYear` (`ToYear`)
  1530. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1531. CREATE TABLE `users_notify_quoted` (
  1532. `UserID` int(10) NOT NULL,
  1533. `QuoterID` int(10) NOT NULL,
  1534. `Page` enum('forums','artist','collages','requests','torrents') NOT NULL,
  1535. `PageID` int(10) NOT NULL,
  1536. `PostID` int(10) NOT NULL,
  1537. `UnRead` tinyint(1) NOT NULL DEFAULT '1',
  1538. `Date` datetime,
  1539. PRIMARY KEY (`UserID`,`Page`,`PostID`)
  1540. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1541. CREATE TABLE `users_notify_torrents` (
  1542. `UserID` int(10) NOT NULL,
  1543. `FilterID` int(10) NOT NULL,
  1544. `GroupID` int(10) NOT NULL,
  1545. `TorrentID` int(10) NOT NULL,
  1546. `UnRead` tinyint(4) NOT NULL DEFAULT '1',
  1547. PRIMARY KEY (`UserID`,`TorrentID`),
  1548. KEY `TorrentID` (`TorrentID`),
  1549. KEY `UserID_Unread` (`UserID`,`UnRead`)
  1550. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1551. CREATE TABLE `users_points` (
  1552. `UserID` int(10) NOT NULL,
  1553. `GroupID` int(10) NOT NULL,
  1554. `Points` tinyint(1) NOT NULL DEFAULT '1',
  1555. PRIMARY KEY (`UserID`,`GroupID`),
  1556. KEY `UserID` (`UserID`),
  1557. KEY `GroupID` (`GroupID`)
  1558. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1559. CREATE TABLE `users_points_requests` (
  1560. `UserID` int(10) NOT NULL,
  1561. `RequestID` int(10) NOT NULL,
  1562. `Points` tinyint(1) NOT NULL DEFAULT '1',
  1563. PRIMARY KEY (`RequestID`),
  1564. KEY `UserID` (`UserID`),
  1565. KEY `RequestID` (`RequestID`)
  1566. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1567. CREATE TABLE `users_seedtime` (
  1568. `UserID` int(10) unsigned NOT NULL,
  1569. `TorrentID` int(10) unsigned NOT NULL,
  1570. `SeedTime` int(10) unsigned NOT NULL DEFAULT '0',
  1571. `Uploaded` bigint(20) NOT NULL DEFAULT '0',
  1572. `LastUpdate` datetime NOT NULL,
  1573. `Downloaded` bigint(20) unsigned NOT NULL DEFAULT '0',
  1574. PRIMARY KEY (`UserID`,`TorrentID`)
  1575. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  1576. CREATE TABLE `users_sessions` (
  1577. `UserID` int(10) NOT NULL,
  1578. `SessionID` char(64) NOT NULL,
  1579. `KeepLogged` enum('0','1') NOT NULL DEFAULT '0',
  1580. `Browser` varchar(40) DEFAULT NULL,
  1581. `OperatingSystem` varchar(13) DEFAULT NULL,
  1582. `IP` varchar(90) NOT NULL,
  1583. `LastUpdate` datetime,
  1584. `Active` tinyint(4) NOT NULL DEFAULT '1',
  1585. `FullUA` text,
  1586. PRIMARY KEY (`UserID`,`SessionID`),
  1587. KEY `UserID` (`UserID`),
  1588. KEY `LastUpdate` (`LastUpdate`),
  1589. KEY `Active` (`Active`),
  1590. KEY `ActiveAgeKeep` (`Active`,`LastUpdate`,`KeepLogged`)
  1591. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1592. CREATE TABLE `users_subscriptions` (
  1593. `UserID` int(10) NOT NULL,
  1594. `TopicID` int(10) NOT NULL,
  1595. PRIMARY KEY (`UserID`,`TopicID`)
  1596. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1597. CREATE TABLE `users_subscriptions_comments` (
  1598. `UserID` int(10) NOT NULL,
  1599. `Page` enum('artist','collages','requests','torrents') NOT NULL,
  1600. `PageID` int(10) NOT NULL,
  1601. PRIMARY KEY (`UserID`,`Page`,`PageID`)
  1602. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1603. CREATE TABLE `users_torrent_history` (
  1604. `UserID` int(10) unsigned NOT NULL,
  1605. `NumTorrents` int(6) unsigned NOT NULL,
  1606. `Date` int(8) unsigned NOT NULL,
  1607. `Time` int(11) unsigned NOT NULL DEFAULT '0',
  1608. `LastTime` int(11) unsigned NOT NULL DEFAULT '0',
  1609. `Finished` enum('1','0') NOT NULL DEFAULT '1',
  1610. `Weight` bigint(20) unsigned NOT NULL DEFAULT '0',
  1611. PRIMARY KEY (`UserID`,`NumTorrents`,`Date`),
  1612. KEY `Finished` (`Finished`),
  1613. KEY `Date` (`Date`)
  1614. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1615. CREATE TABLE `users_torrent_history_snatch` (
  1616. `UserID` int(10) unsigned NOT NULL,
  1617. `NumSnatches` int(10) unsigned NOT NULL DEFAULT '0',
  1618. PRIMARY KEY (`UserID`),
  1619. KEY `NumSnatches` (`NumSnatches`)
  1620. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1621. CREATE TABLE `users_torrent_history_temp` (
  1622. `UserID` int(10) unsigned NOT NULL,
  1623. `NumTorrents` int(6) unsigned NOT NULL DEFAULT '0',
  1624. `SumTime` bigint(20) unsigned NOT NULL DEFAULT '0',
  1625. `SeedingAvg` int(6) unsigned NOT NULL DEFAULT '0',
  1626. PRIMARY KEY (`UserID`)
  1627. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1628. CREATE TABLE `users_warnings_forums` (
  1629. `UserID` int(10) unsigned NOT NULL,
  1630. `Comment` text,
  1631. PRIMARY KEY (`UserID`)
  1632. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1633. CREATE TABLE `wiki_aliases` (
  1634. `Alias` varchar(50) NOT NULL,
  1635. `UserID` int(10) NOT NULL,
  1636. `ArticleID` int(10) DEFAULT NULL,
  1637. PRIMARY KEY (`Alias`)
  1638. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1639. CREATE TABLE `wiki_articles` (
  1640. `ID` int(10) NOT NULL AUTO_INCREMENT,
  1641. `Revision` int(10) NOT NULL DEFAULT '1',
  1642. `Title` varchar(100) DEFAULT NULL,
  1643. `Body` mediumtext,
  1644. `MinClassRead` int(4) DEFAULT NULL,
  1645. `MinClassEdit` int(4) DEFAULT NULL,
  1646. `Date` datetime DEFAULT NULL,
  1647. `Author` int(10) DEFAULT NULL,
  1648. PRIMARY KEY (`ID`)
  1649. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1650. CREATE TABLE `wiki_artists` (
  1651. `RevisionID` int(12) NOT NULL AUTO_INCREMENT,
  1652. `PageID` int(10) NOT NULL DEFAULT '0',
  1653. `Body` text,
  1654. `UserID` int(10) NOT NULL DEFAULT '0',
  1655. `Summary` varchar(100) DEFAULT NULL,
  1656. `Time` datetime,
  1657. `Image` varchar(255) DEFAULT NULL,
  1658. PRIMARY KEY (`RevisionID`),
  1659. KEY `PageID` (`PageID`),
  1660. KEY `UserID` (`UserID`),
  1661. KEY `Time` (`Time`)
  1662. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1663. CREATE TABLE `wiki_revisions` (
  1664. `ID` int(10) NOT NULL,
  1665. `Revision` int(10) NOT NULL,
  1666. `Title` varchar(100) DEFAULT NULL,
  1667. `Body` mediumtext,
  1668. `Date` datetime DEFAULT NULL,
  1669. `Author` int(10) DEFAULT NULL,
  1670. KEY `ID_Revision` (`ID`,`Revision`)
  1671. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1672. CREATE TABLE `wiki_torrents` (
  1673. `RevisionID` int(12) NOT NULL AUTO_INCREMENT,
  1674. `PageID` int(10) NOT NULL DEFAULT '0',
  1675. `Body` text,
  1676. `UserID` int(10) NOT NULL DEFAULT '0',
  1677. `Summary` varchar(100) DEFAULT NULL,
  1678. `Time` datetime,
  1679. `Image` varchar(255) DEFAULT NULL,
  1680. PRIMARY KEY (`RevisionID`),
  1681. KEY `PageID` (`PageID`),
  1682. KEY `UserID` (`UserID`),
  1683. KEY `Time` (`Time`)
  1684. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1685. CREATE TABLE `xbt_client_whitelist` (
  1686. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  1687. `peer_id` varchar(25) DEFAULT NULL,
  1688. `vstring` varchar(255) DEFAULT '',
  1689. PRIMARY KEY (`id`),
  1690. UNIQUE KEY `peer_id` (`peer_id`)
  1691. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1692. CREATE TABLE `xbt_files_users` (
  1693. `uid` int(11) NOT NULL,
  1694. `active` tinyint(1) NOT NULL DEFAULT '0',
  1695. `announced` int(11) NOT NULL,
  1696. `completed` tinyint(1) NOT NULL DEFAULT '0',
  1697. `downloaded` bigint(20) NOT NULL DEFAULT '0',
  1698. `remaining` bigint(20) NOT NULL DEFAULT '0',
  1699. `uploaded` bigint(20) NOT NULL DEFAULT '0',
  1700. `upspeed` int(10) unsigned NOT NULL DEFAULT '0',
  1701. `downspeed` int(10) unsigned NOT NULL DEFAULT '0',
  1702. `corrupt` bigint(20) NOT NULL DEFAULT '0',
  1703. `timespent` int(10) unsigned NOT NULL,
  1704. `useragent` varchar(51) NOT NULL DEFAULT '',
  1705. `connectable` tinyint(4) NOT NULL DEFAULT '1',
  1706. `peer_id` binary(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  1707. `fid` int(11) NOT NULL,
  1708. `mtime` int(11) NOT NULL,
  1709. `ip` varchar(15) NOT NULL DEFAULT '', -- Max IPv4 address length
  1710. `seeder` tinyint(1) NOT NULL DEFAULT '0',
  1711. PRIMARY KEY (`peer_id`,`fid`,`uid`),
  1712. KEY `remaining_idx` (`remaining`),
  1713. KEY `fid_idx` (`fid`),
  1714. KEY `mtime_idx` (`mtime`),
  1715. KEY `uid_active` (`uid`,`active`)
  1716. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1717. CREATE TABLE `xbt_snatched` (
  1718. `uid` int(11) NOT NULL DEFAULT '0',
  1719. `tstamp` int(11) NOT NULL,
  1720. `fid` int(11) NOT NULL,
  1721. `IP` varchar(15) NOT NULL, -- Max IPv4 address length
  1722. `seedtime` int(11) NOT NULL DEFAULT '0',
  1723. KEY `fid` (`fid`),
  1724. KEY `tstamp` (`tstamp`),
  1725. KEY `uid_tstamp` (`uid`,`tstamp`)
  1726. ) ENGINE=InnoDB CHARSET=utf8mb4;
  1727. -- Okay, that's all for the schema structure
  1728. -- Now we have the default values to initialize the DB with
  1729. SET FOREIGN_KEY_CHECKS = 1;
  1730. INSERT INTO permissions (ID, Level, Name, `Values`, DisplayStaff) VALUES (15, 1000, 'Sysop', 'a:100:{s:10:\"site_leech\";i:1;s:11:\"site_upload\";i:1;s:9:\"site_vote\";i:1;s:20:\"site_submit_requests\";i:1;s:20:\"site_advanced_search\";i:1;s:10:\"site_top10\";i:1;s:19:\"site_advanced_top10\";i:1;s:16:\"site_album_votes\";i:1;s:20:\"site_torrents_notify\";i:1;s:20:\"site_collages_create\";i:1;s:20:\"site_collages_manage\";i:1;s:20:\"site_collages_delete\";i:1;s:23:\"site_collages_subscribe\";i:1;s:22:\"site_collages_personal\";i:1;s:28:\"site_collages_renamepersonal\";i:1;s:19:\"site_make_bookmarks\";i:1;s:14:\"site_edit_wiki\";i:1;s:22:\"site_can_invite_always\";i:1;s:27:\"site_send_unlimited_invites\";i:1;s:22:\"site_moderate_requests\";i:1;s:18:\"site_delete_artist\";i:1;s:20:\"site_moderate_forums\";i:1;s:17:\"site_admin_forums\";i:1;s:23:\"site_forums_double_post\";i:1;s:14:\"site_view_flow\";i:1;s:18:\"site_view_full_log\";i:1;s:28:\"site_view_torrent_snatchlist\";i:1;s:18:\"site_recommend_own\";i:1;s:27:\"site_manage_recommendations\";i:1;s:15:\"site_delete_tag\";i:1;s:23:\"site_disable_ip_history\";i:1;s:14:\"zip_downloader\";i:1;s:10:\"site_debug\";i:1;s:17:\"site_proxy_images\";i:1;s:16:\"site_search_many\";i:1;s:20:\"users_edit_usernames\";i:1;s:16:\"users_edit_ratio\";i:1;s:20:\"users_edit_own_ratio\";i:1;s:17:\"users_edit_titles\";i:1;s:18:\"users_edit_avatars\";i:1;s:18:\"users_edit_invites\";i:1;s:22:\"users_edit_watch_hours\";i:1;s:21:\"users_edit_reset_keys\";i:1;s:19:\"users_edit_profiles\";i:1;s:18:\"users_view_friends\";i:1;s:20:\"users_reset_own_keys\";i:1;s:19:\"users_edit_password\";i:1;s:19:\"users_promote_below\";i:1;s:16:\"users_promote_to\";i:1;s:16:\"users_give_donor\";i:1;s:10:\"users_warn\";i:1;s:19:\"users_disable_users\";i:1;s:19:\"users_disable_posts\";i:1;s:17:\"users_disable_any\";i:1;s:18:\"users_delete_users\";i:1;s:18:\"users_view_invites\";i:1;s:20:\"users_view_seedleech\";i:1;s:19:\"users_view_uploaded\";i:1;s:15:\"users_view_keys\";i:1;s:14:\"users_view_ips\";i:1;s:16:\"users_view_email\";i:1;s:18:\"users_invite_notes\";i:1;s:23:\"users_override_paranoia\";i:1;s:12:\"users_logout\";i:1;s:20:\"users_make_invisible\";i:1;s:9:\"users_mod\";i:1;s:13:\"torrents_edit\";i:1;s:15:\"torrents_delete\";i:1;s:20:\"torrents_delete_fast\";i:1;s:18:\"torrents_freeleech\";i:1;s:20:\"torrents_search_fast\";i:1;s:17:\"torrents_hide_dnu\";i:1;s:19:\"torrents_fix_ghosts\";i:1;s:17:\"admin_manage_news\";i:1;s:17:\"admin_manage_blog\";i:1;s:18:\"admin_manage_polls\";i:1;s:19:\"admin_manage_forums\";i:1;s:16:\"admin_manage_fls\";i:1;s:13:\"admin_reports\";i:1;s:26:\"admin_advanced_user_search\";i:1;s:18:\"admin_create_users\";i:1;s:15:\"admin_donor_log\";i:1;s:19:\"admin_manage_ipbans\";i:1;s:9:\"admin_dnu\";i:1;s:17:\"admin_clear_cache\";i:1;s:15:\"admin_whitelist\";i:1;s:24:\"admin_manage_permissions\";i:1;s:14:\"admin_schedule\";i:1;s:17:\"admin_login_watch\";i:1;s:17:\"admin_manage_wiki\";i:1;s:18:\"admin_update_geoip\";i:1;s:21:\"site_collages_recover\";i:1;s:19:\"torrents_add_artist\";i:1;s:13:\"edit_unknowns\";i:1;s:19:\"forums_polls_create\";i:1;s:21:\"forums_polls_moderate\";i:1;s:12:\"project_team\";i:1;s:25:\"torrents_edit_vanityhouse\";i:1;s:23:\"artist_edit_vanityhouse\";i:1;s:21:\"site_tag_aliases_read\";i:1;}', '1'), (11, 800, 'Moderator', 'a:89:{s:26:\"admin_advanced_user_search\";i:1;s:17:\"admin_clear_cache\";i:1;s:18:\"admin_create_users\";i:1;s:9:\"admin_dnu\";i:1;s:15:\"admin_donor_log\";i:1;s:17:\"admin_login_watch\";i:1;s:17:\"admin_manage_blog\";i:1;s:19:\"admin_manage_ipbans\";i:1;s:17:\"admin_manage_news\";i:1;s:18:\"admin_manage_polls\";i:1;s:17:\"admin_manage_wiki\";i:1;s:13:\"admin_reports\";i:1;s:23:\"artist_edit_vanityhouse\";i:1;s:13:\"edit_unknowns\";i:1;s:19:\"forums_polls_create\";i:1;s:21:\"forums_polls_moderate\";i:1;s:12:\"project_team\";i:1;s:17:\"site_admin_forums\";i:1;s:20:\"site_advanced_search\";i:1;s:19:\"site_advanced_top10\";i:1;s:16:\"site_album_votes\";i:1;s:22:\"site_can_invite_always\";i:1;s:20:\"site_collages_create\";i:1;s:20:\"site_collages_delete\";i:1;s:20:\"site_collages_manage\";i:1;s:22:\"site_collages_personal\";i:1;s:21:\"site_collages_recover\";i:1;s:28:\"site_collages_renamepersonal\";i:1;s:23:\"site_collages_subscribe\";i:1;s:18:\"site_delete_artist\";i:1;s:15:\"site_delete_tag\";i:1;s:23:\"site_disable_ip_history\";i:1;s:14:\"site_edit_wiki\";i:1;s:23:\"site_forums_double_post\";i:1;s:10:\"site_leech\";i:1;s:19:\"site_make_bookmarks\";i:1;s:27:\"site_manage_recommendations\";i:1;s:20:\"site_moderate_forums\";i:1;s:22:\"site_moderate_requests\";i:1;s:17:\"site_proxy_images\";i:1;s:18:\"site_recommend_own\";i:1;s:16:\"site_search_many\";i:1;s:27:\"site_send_unlimited_invites\";i:1;s:20:\"site_submit_requests\";i:1;s:21:\"site_tag_aliases_read\";i:1;s:10:\"site_top10\";i:1;s:20:\"site_torrents_notify\";i:1;s:11:\"site_upload\";i:1;s:14:\"site_view_flow\";i:1;s:18:\"site_view_full_log\";i:1;s:28:\"site_view_torrent_snatchlist\";i:1;s:9:\"site_vote\";i:1;s:19:\"torrents_add_artist\";i:1;s:15:\"torrents_delete\";i:1;s:20:\"torrents_delete_fast\";i:1;s:13:\"torrents_edit\";i:1;s:25:\"torrents_edit_vanityhouse\";i:1;s:19:\"torrents_fix_ghosts\";i:1;s:18:\"torrents_freeleech\";i:1;s:17:\"torrents_hide_dnu\";i:1;s:20:\"torrents_search_fast\";i:1;s:18:\"users_delete_users\";i:1;s:17:\"users_disable_any\";i:1;s:19:\"users_disable_posts\";i:1;s:19:\"users_disable_users\";i:1;s:18:\"users_edit_avatars\";i:1;s:18:\"users_edit_invites\";i:1;s:20:\"users_edit_own_ratio\";i:1;s:19:\"users_edit_password\";i:1;s:19:\"users_edit_profiles\";i:1;s:16:\"users_edit_ratio\";i:1;s:21:\"users_edit_reset_keys\";i:1;s:17:\"users_edit_titles\";i:1;s:16:\"users_give_donor\";i:1;s:12:\"users_logout\";i:1;s:20:\"users_make_invisible\";i:1;s:9:\"users_mod\";i:1;s:23:\"users_override_paranoia\";i:1;s:19:\"users_promote_below\";i:1;s:20:\"users_reset_own_keys\";i:1;s:10:\"users_warn\";i:1;s:16:\"users_view_email\";i:1;s:18:\"users_view_friends\";i:1;s:18:\"users_view_invites\";i:1;s:14:\"users_view_ips\";i:1;s:15:\"users_view_keys\";i:1;s:20:\"users_view_seedleech\";i:1;s:19:\"users_view_uploaded\";i:1;s:14:\"zip_downloader\";i:1;}', '1'), (2, 100, 'User', 'a:7:{s:10:\"site_leech\";i:1;s:11:\"site_upload\";i:1;s:9:\"site_vote\";i:1;s:20:\"site_advanced_search\";i:1;s:10:\"site_top10\";i:1;s:14:\"site_edit_wiki\";i:1;s:19:\"torrents_add_artist\";i:1;}', '0'), (3, 150, 'Member', 'a:10:{s:10:\"site_leech\";i:1;s:11:\"site_upload\";i:1;s:9:\"site_vote\";i:1;s:20:\"site_submit_requests\";i:1;s:20:\"site_advanced_search\";i:1;s:10:\"site_top10\";i:1;s:20:\"site_collages_manage\";i:1;s:19:\"site_make_bookmarks\";i:1;s:14:\"site_edit_wiki\";i:1;s:19:\"torrents_add_artist\";i:1;}', '0'), (4, 200, 'Power User', 'a:14:{s:10:\"site_leech\";i:1;s:11:\"site_upload\";i:1;s:9:\"site_vote\";i:1;s:20:\"site_submit_requests\";i:1;s:20:\"site_advanced_search\";i:1;s:10:\"site_top10\";i:1;s:20:\"site_torrents_notify\";i:1;s:20:\"site_collages_create\";i:1;s:20:\"site_collages_manage\";i:1;s:19:\"site_make_bookmarks\";i:1;s:14:\"site_edit_wiki\";i:1;s:14:\"zip_downloader\";i:1;s:19:\"forums_polls_create\";i:1;s:19:\"torrents_add_artist\";i:1;} ', '0'), (5, 250, 'Elite', 'a:18:{s:10:\"site_leech\";i:1;s:11:\"site_upload\";i:1;s:9:\"site_vote\";i:1;s:20:\"site_submit_requests\";i:1;s:20:\"site_advanced_search\";i:1;s:10:\"site_top10\";i:1;s:20:\"site_torrents_notify\";i:1;s:20:\"site_collages_create\";i:1;s:20:\"site_collages_manage\";i:1;s:19:\"site_advanced_top10\";i:1;s:19:\"site_make_bookmarks\";i:1;s:14:\"site_edit_wiki\";i:1;s:15:\"site_delete_tag\";i:1;s:14:\"zip_downloader\";i:1;s:19:\"forums_polls_create\";i:1;s:13:\"torrents_edit\";i:1;s:19:\"torrents_add_artist\";i:1;s:17:\"admin_clear_cache\";i:1;}', '0'), (20, 202, 'Donor', 'a:9:{s:9:\"site_vote\";i:1;s:20:\"site_submit_requests\";i:1;s:20:\"site_advanced_search\";i:1;s:10:\"site_top10\";i:1;s:20:\"site_torrents_notify\";i:1;s:20:\"site_collages_create\";i:1;s:20:\"site_collages_manage\";i:1;s:14:\"zip_downloader\";i:1;s:19:\"forums_polls_create\";i:1;}', '0'), (19, 201, 'Artist', 'a:9:{s:10:\"site_leech\";s:1:\"1\";s:11:\"site_upload\";s:1:\"1\";s:9:\"site_vote\";s:1:\"1\";s:20:\"site_submit_requests\";s:1:\"1\";s:20:\"site_advanced_search\";s:1:\"1\";s:10:\"site_top10\";s:1:\"1\";s:19:\"site_make_bookmarks\";s:1:\"1\";s:14:\"site_edit_wiki\";s:1:\"1\";s:18:\"site_recommend_own\";s:1:\"1\";}', '0');
  1731. INSERT INTO stylesheets (ID, Name, Description, `Default`, Additions, Color) VALUES (1, 'Matcha', 'BioTorrents.de Stylesheet', '1', NULL, '#000000'), (2, 'Oppai', 'Oppaitime Stylesheet', '0', NULL, '#FBC2E5'), (3, 'Beluga', 'Beluga Stylesheet', '0', 'Pink|Haze', '#23252A'), (4, 'Genaviv', 'Genaviv Stylesheet', '0', 'Fixed Header', '#0A0A0A');
  1732. INSERT INTO wiki_articles (ID, Revision, Title, Body, MinClassRead, MinClassEdit, Date, Author) VALUES (1, 1, 'Wiki', 'Welcome to your new wiki! Hope this works.', 100, 475, NOW(), 1);
  1733. INSERT INTO wiki_aliases (Alias, UserID, ArticleID) VALUES ('wiki', 1, 1);
  1734. INSERT INTO wiki_revisions (ID, Revision, Title, Body, Date, Author) VALUES (1, 1, 'Wiki', 'Welcome to your new wiki! Hope this works.', NOW(), 1);
  1735. INSERT INTO forums (ID, CategoryID, Sort, Name, Description, MinClassRead, MinClassWrite, MinClassCreate, NumTopics, NumPosts, LastPostID, LastPostAuthorID, LastPostTopicID, LastPostTime) VALUES (1, 1, 20, 'Your Site', 'Totally rad forum', 100, 100, 100, 0, 0, 0, 0, 0, NULL), (2, 5, 30, 'Chat', 'Expect this to fill up with spam', 100, 100, 100, 0, 0, 0, 0, 0, NULL), (3, 10, 40, 'Help!', 'I fell down and I cant get up', 100, 100, 100, 0, 0, 0, 0, 0, NULL), (4, 20, 100, 'Trash', 'Every thread ends up here eventually', 100, 500, 500, 0, 0, 0, 0, 0, NULL);
  1736. INSERT INTO tags (ID, Name, TagType, Uses, UserID) VALUES (1, 'one', 'genre', 0, 1),(2, 'two', 'genre', 0, 1),(3, 'three', 'genre', 0, 1),(3, 'four', 'genre', 0, 1),(3, 'five', 'genre', 0, 1);
  1737. INSERT INTO schedule (NextHour, NextDay, NextBiWeekly) VALUES (0,0,0);
  1738. INSERT INTO forums_categories (ID, Sort, Name) VALUES (1,1,'Site');
  1739. INSERT INTO forums_categories (ID, Sort, Name) VALUES (5,5,'Community');
  1740. INSERT INTO forums_categories (ID, Sort, Name) VALUES (10,10,'Help');
  1741. INSERT INTO forums_categories (ID, Sort, Name) VALUES (8,8,'Music');
  1742. INSERT INTO forums_categories (ID, Sort, Name) VALUES (20,20,'Trash');
  1743. -- One last thing: a trigger to update seeding stats
  1744. DELIMITER ;;
  1745. CREATE TRIGGER update_seedtime
  1746. AFTER UPDATE ON `xbt_files_users`
  1747. FOR EACH ROW BEGIN
  1748. IF ( (OLD.timespent < NEW.timespent) AND (OLD.active = 1) AND (NEW.active = 1) ) THEN
  1749. INSERT INTO users_seedtime
  1750. (UserID, TorrentID, SeedTime, Uploaded, Downloaded, LastUpdate)
  1751. VALUES
  1752. (NEW.uid, NEW.fid, NEW.timespent, NEW.uploaded, NEW.downloaded, NOW())
  1753. ON DUPLICATE KEY UPDATE
  1754. SeedTime = SeedTime + (NEW.timespent - OLD.timespent),
  1755. Uploaded = Uploaded + (NEW.uploaded - OLD.uploaded),
  1756. Downloaded = Downloaded + (NEW.downloaded - OLD.downloaded),
  1757. LastUpdate = NOW();
  1758. END IF;
  1759. END;;
  1760. DELIMITER ;