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.

schema-sq.ddl 38KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013
  1. ###############################################################
  2. #### Description of SonarQube's schema in H2 SQL syntax ####
  3. #### ####
  4. #### This file is autogenerated and stored in SCM to ####
  5. #### conveniently read the SonarQube's schema at any ####
  6. #### point in time. ####
  7. #### ####
  8. #### DO NOT MODIFY THIS FILE DIRECTLY ####
  9. #### use gradle task :server:sonar-db-dao:dumpSchema ####
  10. ###############################################################
  11. CREATE TABLE "SCHEMA_MIGRATIONS"(
  12. "VERSION" VARCHAR(255) NOT NULL
  13. );
  14. CREATE TABLE "ACTIVE_RULE_PARAMETERS"(
  15. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  16. "ACTIVE_RULE_ID" INTEGER NOT NULL,
  17. "RULES_PARAMETER_ID" INTEGER NOT NULL,
  18. "VALUE" VARCHAR(4000),
  19. "RULES_PARAMETER_KEY" VARCHAR(128)
  20. );
  21. ALTER TABLE "ACTIVE_RULE_PARAMETERS" ADD CONSTRAINT "PK_ACTIVE_RULE_PARAMETERS" PRIMARY KEY("ID");
  22. CREATE INDEX "IX_ARP_ON_ACTIVE_RULE_ID" ON "ACTIVE_RULE_PARAMETERS"("ACTIVE_RULE_ID");
  23. CREATE TABLE "ACTIVE_RULES"(
  24. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  25. "PROFILE_ID" INTEGER NOT NULL,
  26. "RULE_ID" INTEGER NOT NULL,
  27. "FAILURE_LEVEL" INTEGER NOT NULL,
  28. "INHERITANCE" VARCHAR(10),
  29. "CREATED_AT" BIGINT,
  30. "UPDATED_AT" BIGINT
  31. );
  32. ALTER TABLE "ACTIVE_RULES" ADD CONSTRAINT "PK_ACTIVE_RULES" PRIMARY KEY("ID");
  33. CREATE UNIQUE INDEX "UNIQ_PROFILE_RULE_IDS" ON "ACTIVE_RULES"("PROFILE_ID", "RULE_ID");
  34. CREATE TABLE "ALM_APP_INSTALLS"(
  35. "UUID" VARCHAR(40) NOT NULL,
  36. "ALM_ID" VARCHAR(40) NOT NULL,
  37. "OWNER_ID" VARCHAR(4000) NOT NULL,
  38. "INSTALL_ID" VARCHAR(4000) NOT NULL,
  39. "IS_OWNER_USER" BOOLEAN NOT NULL,
  40. "USER_EXTERNAL_ID" VARCHAR(255),
  41. "CREATED_AT" BIGINT NOT NULL,
  42. "UPDATED_AT" BIGINT NOT NULL
  43. );
  44. ALTER TABLE "ALM_APP_INSTALLS" ADD CONSTRAINT "PK_ALM_APP_INSTALLS" PRIMARY KEY("UUID");
  45. CREATE UNIQUE INDEX "ALM_APP_INSTALLS_OWNER" ON "ALM_APP_INSTALLS"("ALM_ID", "OWNER_ID");
  46. CREATE UNIQUE INDEX "ALM_APP_INSTALLS_INSTALL" ON "ALM_APP_INSTALLS"("ALM_ID", "INSTALL_ID");
  47. CREATE INDEX "ALM_APP_INSTALLS_EXTERNAL_ID" ON "ALM_APP_INSTALLS"("USER_EXTERNAL_ID");
  48. CREATE TABLE "ALM_PATS"(
  49. "UUID" VARCHAR(40) NOT NULL,
  50. "PAT" VARCHAR(2000) NOT NULL,
  51. "USER_UUID" VARCHAR(256) NOT NULL,
  52. "ALM_SETTING_UUID" VARCHAR(40) NOT NULL,
  53. "UPDATED_AT" BIGINT NOT NULL,
  54. "CREATED_AT" BIGINT NOT NULL
  55. );
  56. ALTER TABLE "ALM_PATS" ADD CONSTRAINT "PK_ALM_PATS" PRIMARY KEY("UUID");
  57. CREATE UNIQUE INDEX "UNIQ_ALM_PATS" ON "ALM_PATS"("USER_UUID", "ALM_SETTING_UUID");
  58. CREATE TABLE "ALM_SETTINGS"(
  59. "UUID" VARCHAR(40) NOT NULL,
  60. "ALM_ID" VARCHAR(40) NOT NULL,
  61. "KEE" VARCHAR(200) NOT NULL,
  62. "URL" VARCHAR(2000),
  63. "APP_ID" VARCHAR(80),
  64. "PRIVATE_KEY" VARCHAR(2000),
  65. "PAT" VARCHAR(2000),
  66. "UPDATED_AT" BIGINT NOT NULL,
  67. "CREATED_AT" BIGINT NOT NULL
  68. );
  69. ALTER TABLE "ALM_SETTINGS" ADD CONSTRAINT "PK_ALM_SETTINGS" PRIMARY KEY("UUID");
  70. CREATE UNIQUE INDEX "UNIQ_ALM_SETTINGS" ON "ALM_SETTINGS"("KEE");
  71. CREATE TABLE "ANALYSIS_PROPERTIES"(
  72. "UUID" VARCHAR(40) NOT NULL,
  73. "ANALYSIS_UUID" VARCHAR(40) NOT NULL,
  74. "KEE" VARCHAR(512) NOT NULL,
  75. "TEXT_VALUE" VARCHAR(4000),
  76. "CLOB_VALUE" CLOB(2147483647),
  77. "IS_EMPTY" BOOLEAN NOT NULL,
  78. "CREATED_AT" BIGINT NOT NULL
  79. );
  80. ALTER TABLE "ANALYSIS_PROPERTIES" ADD CONSTRAINT "PK_ANALYSIS_PROPERTIES" PRIMARY KEY("UUID");
  81. CREATE INDEX "ANALYSIS_PROPERTIES_ANALYSIS" ON "ANALYSIS_PROPERTIES"("ANALYSIS_UUID");
  82. CREATE TABLE "CE_ACTIVITY"(
  83. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  84. "UUID" VARCHAR(40) NOT NULL,
  85. "TASK_TYPE" VARCHAR(15) NOT NULL,
  86. "MAIN_COMPONENT_UUID" VARCHAR(40),
  87. "COMPONENT_UUID" VARCHAR(40),
  88. "STATUS" VARCHAR(15) NOT NULL,
  89. "MAIN_IS_LAST" BOOLEAN NOT NULL,
  90. "MAIN_IS_LAST_KEY" VARCHAR(55) NOT NULL,
  91. "IS_LAST" BOOLEAN NOT NULL,
  92. "IS_LAST_KEY" VARCHAR(55) NOT NULL,
  93. "SUBMITTER_UUID" VARCHAR(255),
  94. "SUBMITTED_AT" BIGINT NOT NULL,
  95. "STARTED_AT" BIGINT,
  96. "EXECUTED_AT" BIGINT,
  97. "EXECUTION_COUNT" INTEGER NOT NULL,
  98. "EXECUTION_TIME_MS" BIGINT,
  99. "ANALYSIS_UUID" VARCHAR(50),
  100. "ERROR_MESSAGE" VARCHAR(1000),
  101. "ERROR_STACKTRACE" CLOB(2147483647),
  102. "ERROR_TYPE" VARCHAR(20),
  103. "WORKER_UUID" VARCHAR(40),
  104. "CREATED_AT" BIGINT NOT NULL,
  105. "UPDATED_AT" BIGINT NOT NULL
  106. );
  107. ALTER TABLE "CE_ACTIVITY" ADD CONSTRAINT "PK_CE_ACTIVITY" PRIMARY KEY("ID");
  108. CREATE INDEX "CE_ACTIVITY_COMPONENT" ON "CE_ACTIVITY"("COMPONENT_UUID");
  109. CREATE INDEX "CE_ACTIVITY_ISLAST" ON "CE_ACTIVITY"("IS_LAST", "STATUS");
  110. CREATE INDEX "CE_ACTIVITY_ISLAST_KEY" ON "CE_ACTIVITY"("IS_LAST_KEY");
  111. CREATE INDEX "CE_ACTIVITY_MAIN_COMPONENT" ON "CE_ACTIVITY"("MAIN_COMPONENT_UUID");
  112. CREATE INDEX "CE_ACTIVITY_MAIN_ISLAST" ON "CE_ACTIVITY"("MAIN_IS_LAST", "STATUS");
  113. CREATE INDEX "CE_ACTIVITY_MAIN_ISLAST_KEY" ON "CE_ACTIVITY"("MAIN_IS_LAST_KEY");
  114. CREATE UNIQUE INDEX "CE_ACTIVITY_UUID" ON "CE_ACTIVITY"("UUID");
  115. CREATE TABLE "CE_QUEUE"(
  116. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  117. "UUID" VARCHAR(40) NOT NULL,
  118. "TASK_TYPE" VARCHAR(15) NOT NULL,
  119. "MAIN_COMPONENT_UUID" VARCHAR(40),
  120. "COMPONENT_UUID" VARCHAR(40),
  121. "STATUS" VARCHAR(15),
  122. "SUBMITTER_UUID" VARCHAR(255),
  123. "STARTED_AT" BIGINT,
  124. "WORKER_UUID" VARCHAR(40),
  125. "EXECUTION_COUNT" INTEGER NOT NULL,
  126. "CREATED_AT" BIGINT NOT NULL,
  127. "UPDATED_AT" BIGINT NOT NULL
  128. );
  129. ALTER TABLE "CE_QUEUE" ADD CONSTRAINT "PK_CE_QUEUE" PRIMARY KEY("ID");
  130. CREATE INDEX "CE_QUEUE_MAIN_COMPONENT" ON "CE_QUEUE"("MAIN_COMPONENT_UUID");
  131. CREATE INDEX "CE_QUEUE_COMPONENT" ON "CE_QUEUE"("COMPONENT_UUID");
  132. CREATE UNIQUE INDEX "CE_QUEUE_UUID" ON "CE_QUEUE"("UUID");
  133. CREATE TABLE "CE_SCANNER_CONTEXT"(
  134. "TASK_UUID" VARCHAR(40) NOT NULL,
  135. "CONTEXT_DATA" BLOB NOT NULL,
  136. "CREATED_AT" BIGINT NOT NULL,
  137. "UPDATED_AT" BIGINT NOT NULL
  138. );
  139. ALTER TABLE "CE_SCANNER_CONTEXT" ADD CONSTRAINT "PK_CE_SCANNER_CONTEXT" PRIMARY KEY("TASK_UUID");
  140. CREATE TABLE "CE_TASK_CHARACTERISTICS"(
  141. "UUID" VARCHAR(40) NOT NULL,
  142. "TASK_UUID" VARCHAR(40) NOT NULL,
  143. "KEE" VARCHAR(512) NOT NULL,
  144. "TEXT_VALUE" VARCHAR(512)
  145. );
  146. ALTER TABLE "CE_TASK_CHARACTERISTICS" ADD CONSTRAINT "PK_CE_TASK_CHARACTERISTICS" PRIMARY KEY("UUID");
  147. CREATE INDEX "CE_CHARACTERISTICS_TASK_UUID" ON "CE_TASK_CHARACTERISTICS"("TASK_UUID");
  148. CREATE TABLE "CE_TASK_INPUT"(
  149. "TASK_UUID" VARCHAR(40) NOT NULL,
  150. "INPUT_DATA" BLOB,
  151. "CREATED_AT" BIGINT NOT NULL,
  152. "UPDATED_AT" BIGINT NOT NULL
  153. );
  154. ALTER TABLE "CE_TASK_INPUT" ADD CONSTRAINT "PK_CE_TASK_INPUT" PRIMARY KEY("TASK_UUID");
  155. CREATE TABLE "CE_TASK_MESSAGE"(
  156. "UUID" VARCHAR(40) NOT NULL,
  157. "TASK_UUID" VARCHAR(40) NOT NULL,
  158. "MESSAGE" VARCHAR(4000) NOT NULL,
  159. "CREATED_AT" BIGINT NOT NULL
  160. );
  161. ALTER TABLE "CE_TASK_MESSAGE" ADD CONSTRAINT "PK_CE_TASK_MESSAGE" PRIMARY KEY("UUID");
  162. CREATE INDEX "CE_TASK_MESSAGE_TASK" ON "CE_TASK_MESSAGE"("TASK_UUID");
  163. CREATE TABLE "COMPONENTS"(
  164. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  165. "UUID" VARCHAR(50) NOT NULL,
  166. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  167. "KEE" VARCHAR(400),
  168. "DEPRECATED_KEE" VARCHAR(400),
  169. "NAME" VARCHAR(2000),
  170. "LONG_NAME" VARCHAR(2000),
  171. "DESCRIPTION" VARCHAR(2000),
  172. "ENABLED" BOOLEAN DEFAULT TRUE NOT NULL,
  173. "SCOPE" VARCHAR(3),
  174. "QUALIFIER" VARCHAR(10),
  175. "PRIVATE" BOOLEAN NOT NULL,
  176. "ROOT_UUID" VARCHAR(50) NOT NULL,
  177. "LANGUAGE" VARCHAR(20),
  178. "COPY_COMPONENT_UUID" VARCHAR(50),
  179. "PATH" VARCHAR(2000),
  180. "UUID_PATH" VARCHAR(1500) NOT NULL,
  181. "PROJECT_UUID" VARCHAR(50) NOT NULL,
  182. "MODULE_UUID" VARCHAR(50),
  183. "MODULE_UUID_PATH" VARCHAR(1500),
  184. "MAIN_BRANCH_PROJECT_UUID" VARCHAR(50),
  185. "B_CHANGED" BOOLEAN,
  186. "B_NAME" VARCHAR(500),
  187. "B_LONG_NAME" VARCHAR(500),
  188. "B_DESCRIPTION" VARCHAR(2000),
  189. "B_ENABLED" BOOLEAN,
  190. "B_QUALIFIER" VARCHAR(10),
  191. "B_LANGUAGE" VARCHAR(20),
  192. "B_COPY_COMPONENT_UUID" VARCHAR(50),
  193. "B_PATH" VARCHAR(2000),
  194. "B_UUID_PATH" VARCHAR(1500),
  195. "B_MODULE_UUID" VARCHAR(50),
  196. "B_MODULE_UUID_PATH" VARCHAR(1500),
  197. "CREATED_AT" TIMESTAMP
  198. );
  199. ALTER TABLE "COMPONENTS" ADD CONSTRAINT "PK_PROJECTS" PRIMARY KEY("ID");
  200. CREATE INDEX "PROJECTS_ORGANIZATION" ON "COMPONENTS"("ORGANIZATION_UUID");
  201. CREATE UNIQUE INDEX "PROJECTS_KEE" ON "COMPONENTS"("KEE");
  202. CREATE INDEX "PROJECTS_MODULE_UUID" ON "COMPONENTS"("MODULE_UUID");
  203. CREATE INDEX "PROJECTS_PROJECT_UUID" ON "COMPONENTS"("PROJECT_UUID");
  204. CREATE INDEX "PROJECTS_QUALIFIER" ON "COMPONENTS"("QUALIFIER");
  205. CREATE INDEX "PROJECTS_ROOT_UUID" ON "COMPONENTS"("ROOT_UUID");
  206. CREATE INDEX "PROJECTS_UUID" ON "COMPONENTS"("UUID");
  207. CREATE TABLE "DEFAULT_QPROFILES"(
  208. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  209. "LANGUAGE" VARCHAR(20) NOT NULL,
  210. "QPROFILE_UUID" VARCHAR(255) NOT NULL,
  211. "CREATED_AT" BIGINT NOT NULL,
  212. "UPDATED_AT" BIGINT NOT NULL
  213. );
  214. ALTER TABLE "DEFAULT_QPROFILES" ADD CONSTRAINT "PK_DEFAULT_QPROFILES" PRIMARY KEY("ORGANIZATION_UUID", "LANGUAGE");
  215. CREATE UNIQUE INDEX "UNIQ_DEFAULT_QPROFILES_UUID" ON "DEFAULT_QPROFILES"("QPROFILE_UUID");
  216. CREATE TABLE "DEPRECATED_RULE_KEYS"(
  217. "UUID" VARCHAR(40) NOT NULL,
  218. "RULE_ID" INTEGER NOT NULL,
  219. "OLD_REPOSITORY_KEY" VARCHAR(255) NOT NULL,
  220. "OLD_RULE_KEY" VARCHAR(200) NOT NULL,
  221. "CREATED_AT" BIGINT NOT NULL
  222. );
  223. ALTER TABLE "DEPRECATED_RULE_KEYS" ADD CONSTRAINT "PK_DEPRECATED_RULE_KEYS" PRIMARY KEY("UUID");
  224. CREATE UNIQUE INDEX "UNIQ_DEPRECATED_RULE_KEYS" ON "DEPRECATED_RULE_KEYS"("OLD_REPOSITORY_KEY", "OLD_RULE_KEY");
  225. CREATE INDEX "RULE_ID_DEPRECATED_RULE_KEYS" ON "DEPRECATED_RULE_KEYS"("RULE_ID");
  226. CREATE TABLE "DUPLICATIONS_INDEX"(
  227. "ID" BIGINT NOT NULL AUTO_INCREMENT (1,1),
  228. "ANALYSIS_UUID" VARCHAR(50) NOT NULL,
  229. "COMPONENT_UUID" VARCHAR(50) NOT NULL,
  230. "HASH" VARCHAR(50) NOT NULL,
  231. "INDEX_IN_FILE" INTEGER NOT NULL,
  232. "START_LINE" INTEGER NOT NULL,
  233. "END_LINE" INTEGER NOT NULL
  234. );
  235. ALTER TABLE "DUPLICATIONS_INDEX" ADD CONSTRAINT "PK_DUPLICATIONS_INDEX" PRIMARY KEY("ID");
  236. CREATE INDEX "DUPLICATIONS_INDEX_HASH" ON "DUPLICATIONS_INDEX"("HASH");
  237. CREATE INDEX "DUPLICATION_ANALYSIS_COMPONENT" ON "DUPLICATIONS_INDEX"("ANALYSIS_UUID", "COMPONENT_UUID");
  238. CREATE TABLE "ES_QUEUE"(
  239. "UUID" VARCHAR(40) NOT NULL,
  240. "DOC_TYPE" VARCHAR(40) NOT NULL,
  241. "DOC_ID" VARCHAR(4000) NOT NULL,
  242. "DOC_ID_TYPE" VARCHAR(20),
  243. "DOC_ROUTING" VARCHAR(4000),
  244. "CREATED_AT" BIGINT NOT NULL
  245. );
  246. ALTER TABLE "ES_QUEUE" ADD CONSTRAINT "PK_ES_QUEUE" PRIMARY KEY("UUID");
  247. CREATE INDEX "ES_QUEUE_CREATED_AT" ON "ES_QUEUE"("CREATED_AT");
  248. CREATE TABLE "EVENT_COMPONENT_CHANGES"(
  249. "UUID" VARCHAR(40) NOT NULL,
  250. "EVENT_UUID" VARCHAR(40) NOT NULL,
  251. "EVENT_COMPONENT_UUID" VARCHAR(50) NOT NULL,
  252. "EVENT_ANALYSIS_UUID" VARCHAR(50) NOT NULL,
  253. "CHANGE_CATEGORY" VARCHAR(12) NOT NULL,
  254. "COMPONENT_UUID" VARCHAR(50) NOT NULL,
  255. "COMPONENT_KEY" VARCHAR(400) NOT NULL,
  256. "COMPONENT_NAME" VARCHAR(2000) NOT NULL,
  257. "COMPONENT_BRANCH_KEY" VARCHAR(255),
  258. "CREATED_AT" BIGINT NOT NULL
  259. );
  260. ALTER TABLE "EVENT_COMPONENT_CHANGES" ADD CONSTRAINT "PK_EVENT_COMPONENT_CHANGES" PRIMARY KEY("UUID");
  261. CREATE UNIQUE INDEX "EVENT_COMPONENT_CHANGES_UNIQUE" ON "EVENT_COMPONENT_CHANGES"("EVENT_UUID", "CHANGE_CATEGORY", "COMPONENT_UUID");
  262. CREATE INDEX "EVENT_CPNT_CHANGES_CPNT" ON "EVENT_COMPONENT_CHANGES"("EVENT_COMPONENT_UUID");
  263. CREATE INDEX "EVENT_CPNT_CHANGES_ANALYSIS" ON "EVENT_COMPONENT_CHANGES"("EVENT_ANALYSIS_UUID");
  264. CREATE TABLE "EVENTS"(
  265. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  266. "UUID" VARCHAR(40) NOT NULL,
  267. "ANALYSIS_UUID" VARCHAR(50) NOT NULL,
  268. "NAME" VARCHAR(400),
  269. "CATEGORY" VARCHAR(50),
  270. "DESCRIPTION" VARCHAR(4000),
  271. "EVENT_DATA" VARCHAR(4000),
  272. "EVENT_DATE" BIGINT NOT NULL,
  273. "CREATED_AT" BIGINT NOT NULL,
  274. "COMPONENT_UUID" VARCHAR(50) NOT NULL
  275. );
  276. ALTER TABLE "EVENTS" ADD CONSTRAINT "PK_EVENTS" PRIMARY KEY("ID");
  277. CREATE UNIQUE INDEX "EVENTS_UUID" ON "EVENTS"("UUID");
  278. CREATE INDEX "EVENTS_ANALYSIS" ON "EVENTS"("ANALYSIS_UUID");
  279. CREATE INDEX "EVENTS_COMPONENT_UUID" ON "EVENTS"("COMPONENT_UUID");
  280. CREATE TABLE "FILE_SOURCES"(
  281. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  282. "PROJECT_UUID" VARCHAR(50) NOT NULL,
  283. "FILE_UUID" VARCHAR(50) NOT NULL,
  284. "LINE_HASHES" CLOB(2147483647),
  285. "LINE_HASHES_VERSION" INTEGER,
  286. "DATA_HASH" VARCHAR(50),
  287. "SRC_HASH" VARCHAR(50),
  288. "REVISION" VARCHAR(100),
  289. "LINE_COUNT" INTEGER NOT NULL,
  290. "BINARY_DATA" BLOB,
  291. "CREATED_AT" BIGINT NOT NULL,
  292. "UPDATED_AT" BIGINT NOT NULL
  293. );
  294. ALTER TABLE "FILE_SOURCES" ADD CONSTRAINT "PK_FILE_SOURCES" PRIMARY KEY("ID");
  295. CREATE UNIQUE INDEX "FILE_SOURCES_FILE_UUID" ON "FILE_SOURCES"("FILE_UUID");
  296. CREATE INDEX "FILE_SOURCES_PROJECT_UUID" ON "FILE_SOURCES"("PROJECT_UUID");
  297. CREATE INDEX "FILE_SOURCES_UPDATED_AT" ON "FILE_SOURCES"("UPDATED_AT");
  298. CREATE TABLE "GROUP_ROLES"(
  299. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  300. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  301. "GROUP_ID" INTEGER,
  302. "RESOURCE_ID" INTEGER,
  303. "ROLE" VARCHAR(64) NOT NULL
  304. );
  305. ALTER TABLE "GROUP_ROLES" ADD CONSTRAINT "PK_GROUP_ROLES" PRIMARY KEY("ID");
  306. CREATE UNIQUE INDEX "UNIQ_GROUP_ROLES" ON "GROUP_ROLES"("ORGANIZATION_UUID", "GROUP_ID", "RESOURCE_ID", "ROLE");
  307. CREATE INDEX "GROUP_ROLES_RESOURCE" ON "GROUP_ROLES"("RESOURCE_ID");
  308. CREATE TABLE "GROUPS"(
  309. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  310. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  311. "NAME" VARCHAR(500),
  312. "DESCRIPTION" VARCHAR(200),
  313. "CREATED_AT" TIMESTAMP,
  314. "UPDATED_AT" TIMESTAMP
  315. );
  316. ALTER TABLE "GROUPS" ADD CONSTRAINT "PK_GROUPS" PRIMARY KEY("ID");
  317. CREATE TABLE "GROUPS_USERS"(
  318. "USER_ID" BIGINT,
  319. "GROUP_ID" BIGINT
  320. );
  321. CREATE INDEX "INDEX_GROUPS_USERS_ON_USER_ID" ON "GROUPS_USERS"("USER_ID");
  322. CREATE INDEX "INDEX_GROUPS_USERS_ON_GROUP_ID" ON "GROUPS_USERS"("GROUP_ID");
  323. CREATE UNIQUE INDEX "GROUPS_USERS_UNIQUE" ON "GROUPS_USERS"("GROUP_ID", "USER_ID");
  324. CREATE TABLE "INTERNAL_COMPONENT_PROPS"(
  325. "UUID" VARCHAR(40) NOT NULL,
  326. "COMPONENT_UUID" VARCHAR(50) NOT NULL,
  327. "KEE" VARCHAR(512) NOT NULL,
  328. "VALUE" VARCHAR(4000),
  329. "UPDATED_AT" BIGINT NOT NULL,
  330. "CREATED_AT" BIGINT NOT NULL
  331. );
  332. ALTER TABLE "INTERNAL_COMPONENT_PROPS" ADD CONSTRAINT "PK_INTERNAL_COMPONENT_PROPS" PRIMARY KEY("UUID");
  333. CREATE UNIQUE INDEX "UNIQUE_COMPONENT_UUID_KEE" ON "INTERNAL_COMPONENT_PROPS"("COMPONENT_UUID", "KEE");
  334. CREATE TABLE "INTERNAL_PROPERTIES"(
  335. "KEE" VARCHAR(20) NOT NULL,
  336. "IS_EMPTY" BOOLEAN NOT NULL,
  337. "TEXT_VALUE" VARCHAR(4000),
  338. "CLOB_VALUE" CLOB(2147483647),
  339. "CREATED_AT" BIGINT NOT NULL
  340. );
  341. ALTER TABLE "INTERNAL_PROPERTIES" ADD CONSTRAINT "PK_INTERNAL_PROPERTIES" PRIMARY KEY("KEE");
  342. CREATE TABLE "ISSUE_CHANGES"(
  343. "ID" BIGINT NOT NULL AUTO_INCREMENT (1,1),
  344. "KEE" VARCHAR(50),
  345. "ISSUE_KEY" VARCHAR(50) NOT NULL,
  346. "USER_LOGIN" VARCHAR(255),
  347. "CHANGE_TYPE" VARCHAR(20),
  348. "CHANGE_DATA" CLOB(2147483647),
  349. "CREATED_AT" BIGINT,
  350. "UPDATED_AT" BIGINT,
  351. "ISSUE_CHANGE_CREATION_DATE" BIGINT
  352. );
  353. ALTER TABLE "ISSUE_CHANGES" ADD CONSTRAINT "PK_ISSUE_CHANGES" PRIMARY KEY("ID");
  354. CREATE INDEX "ISSUE_CHANGES_ISSUE_KEY" ON "ISSUE_CHANGES"("ISSUE_KEY");
  355. CREATE INDEX "ISSUE_CHANGES_KEE" ON "ISSUE_CHANGES"("KEE");
  356. CREATE TABLE "ISSUES"(
  357. "ID" BIGINT NOT NULL AUTO_INCREMENT (1,1),
  358. "KEE" VARCHAR(50) NOT NULL,
  359. "RULE_ID" INTEGER,
  360. "SEVERITY" VARCHAR(10),
  361. "MANUAL_SEVERITY" BOOLEAN NOT NULL,
  362. "MESSAGE" VARCHAR(4000),
  363. "LINE" INTEGER,
  364. "GAP" DOUBLE,
  365. "STATUS" VARCHAR(20),
  366. "RESOLUTION" VARCHAR(20),
  367. "CHECKSUM" VARCHAR(1000),
  368. "REPORTER" VARCHAR(255),
  369. "ASSIGNEE" VARCHAR(255),
  370. "AUTHOR_LOGIN" VARCHAR(255),
  371. "ACTION_PLAN_KEY" VARCHAR(50),
  372. "ISSUE_ATTRIBUTES" VARCHAR(4000),
  373. "EFFORT" INTEGER,
  374. "CREATED_AT" BIGINT,
  375. "UPDATED_AT" BIGINT,
  376. "ISSUE_CREATION_DATE" BIGINT,
  377. "ISSUE_UPDATE_DATE" BIGINT,
  378. "ISSUE_CLOSE_DATE" BIGINT,
  379. "TAGS" VARCHAR(4000),
  380. "COMPONENT_UUID" VARCHAR(50),
  381. "PROJECT_UUID" VARCHAR(50),
  382. "LOCATIONS" BLOB,
  383. "ISSUE_TYPE" TINYINT,
  384. "FROM_HOTSPOT" BOOLEAN
  385. );
  386. ALTER TABLE "ISSUES" ADD CONSTRAINT "PK_ISSUES" PRIMARY KEY("ID");
  387. CREATE INDEX "ISSUES_ASSIGNEE" ON "ISSUES"("ASSIGNEE");
  388. CREATE INDEX "ISSUES_COMPONENT_UUID" ON "ISSUES"("COMPONENT_UUID");
  389. CREATE INDEX "ISSUES_CREATION_DATE" ON "ISSUES"("ISSUE_CREATION_DATE");
  390. CREATE UNIQUE INDEX "ISSUES_KEE" ON "ISSUES"("KEE");
  391. CREATE INDEX "ISSUES_PROJECT_UUID" ON "ISSUES"("PROJECT_UUID");
  392. CREATE INDEX "ISSUES_RESOLUTION" ON "ISSUES"("RESOLUTION");
  393. CREATE INDEX "ISSUES_RULE_ID" ON "ISSUES"("RULE_ID");
  394. CREATE INDEX "ISSUES_UPDATED_AT" ON "ISSUES"("UPDATED_AT");
  395. CREATE TABLE "LIVE_MEASURES"(
  396. "UUID" VARCHAR(40) NOT NULL,
  397. "PROJECT_UUID" VARCHAR(50) NOT NULL,
  398. "COMPONENT_UUID" VARCHAR(50) NOT NULL,
  399. "METRIC_ID" INTEGER NOT NULL,
  400. "VALUE" DOUBLE,
  401. "TEXT_VALUE" VARCHAR(4000),
  402. "VARIATION" DOUBLE,
  403. "MEASURE_DATA" BLOB,
  404. "UPDATE_MARKER" VARCHAR(40),
  405. "CREATED_AT" BIGINT NOT NULL,
  406. "UPDATED_AT" BIGINT NOT NULL
  407. );
  408. ALTER TABLE "LIVE_MEASURES" ADD CONSTRAINT "PK_LIVE_MEASURES" PRIMARY KEY("UUID");
  409. CREATE INDEX "LIVE_MEASURES_PROJECT" ON "LIVE_MEASURES"("PROJECT_UUID");
  410. CREATE UNIQUE INDEX "LIVE_MEASURES_COMPONENT" ON "LIVE_MEASURES"("COMPONENT_UUID", "METRIC_ID");
  411. CREATE TABLE "MANUAL_MEASURES"(
  412. "ID" BIGINT NOT NULL AUTO_INCREMENT (1,1),
  413. "METRIC_ID" INTEGER NOT NULL,
  414. "VALUE" DOUBLE,
  415. "TEXT_VALUE" VARCHAR(4000),
  416. "USER_UUID" VARCHAR(255),
  417. "DESCRIPTION" VARCHAR(4000),
  418. "CREATED_AT" BIGINT,
  419. "UPDATED_AT" BIGINT,
  420. "COMPONENT_UUID" VARCHAR(50) NOT NULL
  421. );
  422. ALTER TABLE "MANUAL_MEASURES" ADD CONSTRAINT "PK_MANUAL_MEASURES" PRIMARY KEY("ID");
  423. CREATE INDEX "MANUAL_MEASURES_COMPONENT_UUID" ON "MANUAL_MEASURES"("COMPONENT_UUID");
  424. CREATE TABLE "METRICS"(
  425. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  426. "NAME" VARCHAR(64) NOT NULL,
  427. "DESCRIPTION" VARCHAR(255),
  428. "DIRECTION" INTEGER DEFAULT 0 NOT NULL,
  429. "DOMAIN" VARCHAR(64),
  430. "SHORT_NAME" VARCHAR(64),
  431. "QUALITATIVE" BOOLEAN DEFAULT FALSE NOT NULL,
  432. "VAL_TYPE" VARCHAR(8),
  433. "USER_MANAGED" BOOLEAN DEFAULT FALSE,
  434. "ENABLED" BOOLEAN DEFAULT TRUE,
  435. "WORST_VALUE" DOUBLE,
  436. "BEST_VALUE" DOUBLE,
  437. "OPTIMIZED_BEST_VALUE" BOOLEAN,
  438. "HIDDEN" BOOLEAN,
  439. "DELETE_HISTORICAL_DATA" BOOLEAN,
  440. "DECIMAL_SCALE" INTEGER
  441. );
  442. ALTER TABLE "METRICS" ADD CONSTRAINT "PK_METRICS" PRIMARY KEY("ID");
  443. CREATE UNIQUE INDEX "METRICS_UNIQUE_NAME" ON "METRICS"("NAME");
  444. CREATE TABLE "NEW_CODE_PERIODS"(
  445. "UUID" VARCHAR(40) NOT NULL,
  446. "PROJECT_UUID" VARCHAR(40),
  447. "BRANCH_UUID" VARCHAR(40),
  448. "TYPE" VARCHAR(30) NOT NULL,
  449. "VALUE" VARCHAR(40),
  450. "UPDATED_AT" BIGINT NOT NULL,
  451. "CREATED_AT" BIGINT NOT NULL
  452. );
  453. ALTER TABLE "NEW_CODE_PERIODS" ADD CONSTRAINT "PK_NEW_CODE_PERIODS" PRIMARY KEY("UUID");
  454. CREATE UNIQUE INDEX "UNIQ_NEW_CODE_PERIODS" ON "NEW_CODE_PERIODS"("PROJECT_UUID", "BRANCH_UUID");
  455. CREATE TABLE "NOTIFICATIONS"(
  456. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  457. "DATA" BLOB
  458. );
  459. ALTER TABLE "NOTIFICATIONS" ADD CONSTRAINT "PK_NOTIFICATIONS" PRIMARY KEY("ID");
  460. CREATE TABLE "ORG_QPROFILES"(
  461. "UUID" VARCHAR(255) NOT NULL,
  462. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  463. "RULES_PROFILE_UUID" VARCHAR(255) NOT NULL,
  464. "PARENT_UUID" VARCHAR(255),
  465. "LAST_USED" BIGINT,
  466. "USER_UPDATED_AT" BIGINT,
  467. "CREATED_AT" BIGINT NOT NULL,
  468. "UPDATED_AT" BIGINT NOT NULL
  469. );
  470. ALTER TABLE "ORG_QPROFILES" ADD CONSTRAINT "PK_ORG_QPROFILES" PRIMARY KEY("UUID");
  471. CREATE INDEX "QPROFILES_ORG_UUID" ON "ORG_QPROFILES"("ORGANIZATION_UUID");
  472. CREATE INDEX "QPROFILES_RP_UUID" ON "ORG_QPROFILES"("RULES_PROFILE_UUID");
  473. CREATE INDEX "ORG_QPROFILES_PARENT_UUID" ON "ORG_QPROFILES"("PARENT_UUID");
  474. CREATE TABLE "ORG_QUALITY_GATES"(
  475. "UUID" VARCHAR(40) NOT NULL,
  476. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  477. "QUALITY_GATE_UUID" VARCHAR(40) NOT NULL
  478. );
  479. ALTER TABLE "ORG_QUALITY_GATES" ADD CONSTRAINT "PK_ORG_QUALITY_GATES" PRIMARY KEY("UUID");
  480. CREATE UNIQUE INDEX "UNIQ_ORG_QUALITY_GATES" ON "ORG_QUALITY_GATES"("ORGANIZATION_UUID", "QUALITY_GATE_UUID");
  481. CREATE TABLE "ORGANIZATION_ALM_BINDINGS"(
  482. "UUID" VARCHAR(40) NOT NULL,
  483. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  484. "ALM_APP_INSTALL_UUID" VARCHAR(40) NOT NULL,
  485. "ALM_ID" VARCHAR(40) NOT NULL,
  486. "URL" VARCHAR(2000) NOT NULL,
  487. "USER_UUID" VARCHAR(255) NOT NULL,
  488. "MEMBERS_SYNC_ENABLED" BOOLEAN,
  489. "CREATED_AT" BIGINT NOT NULL
  490. );
  491. ALTER TABLE "ORGANIZATION_ALM_BINDINGS" ADD CONSTRAINT "PK_ORGANIZATION_ALM_BINDINGS" PRIMARY KEY("UUID");
  492. CREATE UNIQUE INDEX "ORG_ALM_BINDINGS_ORG" ON "ORGANIZATION_ALM_BINDINGS"("ORGANIZATION_UUID");
  493. CREATE UNIQUE INDEX "ORG_ALM_BINDINGS_INSTALL" ON "ORGANIZATION_ALM_BINDINGS"("ALM_APP_INSTALL_UUID");
  494. CREATE TABLE "ORGANIZATION_MEMBERS"(
  495. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  496. "USER_ID" INTEGER NOT NULL
  497. );
  498. ALTER TABLE "ORGANIZATION_MEMBERS" ADD CONSTRAINT "PK_ORGANIZATION_MEMBERS" PRIMARY KEY("ORGANIZATION_UUID", "USER_ID");
  499. CREATE INDEX "IX_ORG_MEMBERS_ON_USER_ID" ON "ORGANIZATION_MEMBERS"("USER_ID");
  500. CREATE TABLE "ORGANIZATIONS"(
  501. "UUID" VARCHAR(40) NOT NULL,
  502. "KEE" VARCHAR(255) NOT NULL,
  503. "NAME" VARCHAR(255) NOT NULL,
  504. "DESCRIPTION" VARCHAR(256),
  505. "URL" VARCHAR(256),
  506. "AVATAR_URL" VARCHAR(256),
  507. "GUARDED" BOOLEAN,
  508. "DEFAULT_GROUP_ID" INTEGER,
  509. "DEFAULT_QUALITY_GATE_UUID" VARCHAR(40) NOT NULL,
  510. "DEFAULT_PERM_TEMPLATE_PROJECT" VARCHAR(40),
  511. "DEFAULT_PERM_TEMPLATE_APP" VARCHAR(40),
  512. "DEFAULT_PERM_TEMPLATE_PORT" VARCHAR(40),
  513. "NEW_PROJECT_PRIVATE" BOOLEAN NOT NULL,
  514. "SUBSCRIPTION" VARCHAR(40) NOT NULL,
  515. "CREATED_AT" BIGINT NOT NULL,
  516. "UPDATED_AT" BIGINT NOT NULL
  517. );
  518. ALTER TABLE "ORGANIZATIONS" ADD CONSTRAINT "PK_ORGANIZATIONS" PRIMARY KEY("UUID");
  519. CREATE UNIQUE INDEX "ORGANIZATION_KEY" ON "ORGANIZATIONS"("KEE");
  520. CREATE TABLE "PERM_TEMPLATES_GROUPS"(
  521. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  522. "GROUP_ID" INTEGER,
  523. "TEMPLATE_ID" INTEGER NOT NULL,
  524. "PERMISSION_REFERENCE" VARCHAR(64) NOT NULL,
  525. "CREATED_AT" TIMESTAMP,
  526. "UPDATED_AT" TIMESTAMP
  527. );
  528. ALTER TABLE "PERM_TEMPLATES_GROUPS" ADD CONSTRAINT "PK_PERM_TEMPLATES_GROUPS" PRIMARY KEY("ID");
  529. CREATE TABLE "PERM_TEMPLATES_USERS"(
  530. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  531. "USER_ID" INTEGER NOT NULL,
  532. "TEMPLATE_ID" INTEGER NOT NULL,
  533. "PERMISSION_REFERENCE" VARCHAR(64) NOT NULL,
  534. "CREATED_AT" TIMESTAMP,
  535. "UPDATED_AT" TIMESTAMP
  536. );
  537. ALTER TABLE "PERM_TEMPLATES_USERS" ADD CONSTRAINT "PK_PERM_TEMPLATES_USERS" PRIMARY KEY("ID");
  538. CREATE TABLE "PERM_TPL_CHARACTERISTICS"(
  539. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  540. "TEMPLATE_ID" INTEGER NOT NULL,
  541. "PERMISSION_KEY" VARCHAR(64) NOT NULL,
  542. "WITH_PROJECT_CREATOR" BOOLEAN DEFAULT FALSE NOT NULL,
  543. "CREATED_AT" BIGINT NOT NULL,
  544. "UPDATED_AT" BIGINT NOT NULL
  545. );
  546. ALTER TABLE "PERM_TPL_CHARACTERISTICS" ADD CONSTRAINT "PK_PERM_TPL_CHARACTERISTICS" PRIMARY KEY("ID");
  547. CREATE UNIQUE INDEX "UNIQ_PERM_TPL_CHARAC" ON "PERM_TPL_CHARACTERISTICS"("TEMPLATE_ID", "PERMISSION_KEY");
  548. CREATE TABLE "PERMISSION_TEMPLATES"(
  549. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  550. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  551. "NAME" VARCHAR(100) NOT NULL,
  552. "KEE" VARCHAR(100) NOT NULL,
  553. "DESCRIPTION" VARCHAR(4000),
  554. "CREATED_AT" TIMESTAMP,
  555. "UPDATED_AT" TIMESTAMP,
  556. "KEY_PATTERN" VARCHAR(500)
  557. );
  558. ALTER TABLE "PERMISSION_TEMPLATES" ADD CONSTRAINT "PK_PERMISSION_TEMPLATES" PRIMARY KEY("ID");
  559. CREATE TABLE "PLUGINS"(
  560. "UUID" VARCHAR(40) NOT NULL,
  561. "KEE" VARCHAR(200) NOT NULL,
  562. "BASE_PLUGIN_KEY" VARCHAR(200),
  563. "FILE_HASH" VARCHAR(200) NOT NULL,
  564. "CREATED_AT" BIGINT NOT NULL,
  565. "UPDATED_AT" BIGINT NOT NULL
  566. );
  567. ALTER TABLE "PLUGINS" ADD CONSTRAINT "PK_PLUGINS" PRIMARY KEY("UUID");
  568. CREATE UNIQUE INDEX "PLUGINS_KEY" ON "PLUGINS"("KEE");
  569. CREATE TABLE "PROJECT_ALM_BINDINGS"(
  570. "UUID" VARCHAR(40) NOT NULL,
  571. "ALM_ID" VARCHAR(40) NOT NULL,
  572. "REPO_ID" VARCHAR(256) NOT NULL,
  573. "PROJECT_UUID" VARCHAR(40) NOT NULL,
  574. "GITHUB_SLUG" VARCHAR(256),
  575. "URL" VARCHAR(2000) NOT NULL,
  576. "CREATED_AT" BIGINT NOT NULL,
  577. "UPDATED_AT" BIGINT NOT NULL
  578. );
  579. ALTER TABLE "PROJECT_ALM_BINDINGS" ADD CONSTRAINT "PK_PROJECT_ALM_BINDINGS" PRIMARY KEY("UUID");
  580. CREATE UNIQUE INDEX "PROJECT_ALM_BINDINGS_ALM_REPO" ON "PROJECT_ALM_BINDINGS"("ALM_ID", "REPO_ID");
  581. CREATE UNIQUE INDEX "PROJECT_ALM_BINDINGS_PROJECT" ON "PROJECT_ALM_BINDINGS"("PROJECT_UUID");
  582. CREATE TABLE "PROJECT_ALM_SETTINGS"(
  583. "UUID" VARCHAR(40) NOT NULL,
  584. "ALM_SETTING_UUID" VARCHAR(40) NOT NULL,
  585. "PROJECT_UUID" VARCHAR(50) NOT NULL,
  586. "ALM_REPO" VARCHAR(256),
  587. "ALM_SLUG" VARCHAR(256),
  588. "UPDATED_AT" BIGINT NOT NULL,
  589. "CREATED_AT" BIGINT NOT NULL,
  590. "SUMMARY_COMMENT_ENABLED" BOOLEAN
  591. );
  592. ALTER TABLE "PROJECT_ALM_SETTINGS" ADD CONSTRAINT "PK_PROJECT_ALM_SETTINGS" PRIMARY KEY("UUID");
  593. CREATE UNIQUE INDEX "UNIQ_PROJECT_ALM_SETTINGS" ON "PROJECT_ALM_SETTINGS"("PROJECT_UUID");
  594. CREATE INDEX "PROJECT_ALM_SETTINGS_ALM" ON "PROJECT_ALM_SETTINGS"("ALM_SETTING_UUID");
  595. CREATE INDEX "PROJECT_ALM_SETTINGS_SLUG" ON "PROJECT_ALM_SETTINGS"("ALM_SLUG");
  596. CREATE TABLE "PROJECT_BRANCHES"(
  597. "UUID" VARCHAR(50) NOT NULL,
  598. "PROJECT_UUID" VARCHAR(50) NOT NULL,
  599. "KEE" VARCHAR(255) NOT NULL,
  600. "BRANCH_TYPE" VARCHAR(12),
  601. "MERGE_BRANCH_UUID" VARCHAR(50),
  602. "KEY_TYPE" VARCHAR(12) NOT NULL,
  603. "PULL_REQUEST_BINARY" BLOB,
  604. "MANUAL_BASELINE_ANALYSIS_UUID" VARCHAR(40),
  605. "CREATED_AT" BIGINT NOT NULL,
  606. "UPDATED_AT" BIGINT NOT NULL,
  607. "EXCLUDE_FROM_PURGE" BOOLEAN DEFAULT FALSE NOT NULL
  608. );
  609. ALTER TABLE "PROJECT_BRANCHES" ADD CONSTRAINT "PK_PROJECT_BRANCHES" PRIMARY KEY("UUID");
  610. CREATE UNIQUE INDEX "PROJECT_BRANCHES_KEE_KEY_TYPE" ON "PROJECT_BRANCHES"("PROJECT_UUID", "KEE", "KEY_TYPE");
  611. CREATE TABLE "PROJECT_LINKS"(
  612. "UUID" VARCHAR(40) NOT NULL,
  613. "PROJECT_UUID" VARCHAR(40) NOT NULL,
  614. "LINK_TYPE" VARCHAR(20) NOT NULL,
  615. "NAME" VARCHAR(128),
  616. "HREF" VARCHAR(2048) NOT NULL,
  617. "CREATED_AT" BIGINT NOT NULL,
  618. "UPDATED_AT" BIGINT NOT NULL
  619. );
  620. ALTER TABLE "PROJECT_LINKS" ADD CONSTRAINT "PK_PROJECT_LINKS" PRIMARY KEY("UUID");
  621. CREATE INDEX "PROJECT_LINKS_PROJECT" ON "PROJECT_LINKS"("PROJECT_UUID");
  622. CREATE TABLE "PROJECT_MAPPINGS"(
  623. "UUID" VARCHAR(40) NOT NULL,
  624. "KEY_TYPE" VARCHAR(200) NOT NULL,
  625. "KEE" VARCHAR(4000) NOT NULL,
  626. "PROJECT_UUID" VARCHAR(40) NOT NULL,
  627. "CREATED_AT" BIGINT NOT NULL
  628. );
  629. ALTER TABLE "PROJECT_MAPPINGS" ADD CONSTRAINT "PK_PROJECT_MAPPINGS" PRIMARY KEY("UUID");
  630. CREATE UNIQUE INDEX "KEY_TYPE_KEE" ON "PROJECT_MAPPINGS"("KEY_TYPE", "KEE");
  631. CREATE INDEX "PROJECT_UUID" ON "PROJECT_MAPPINGS"("PROJECT_UUID");
  632. CREATE TABLE "PROJECT_MEASURES"(
  633. "ID" BIGINT NOT NULL AUTO_INCREMENT (1,1),
  634. "VALUE" DOUBLE,
  635. "METRIC_ID" INTEGER NOT NULL,
  636. "ANALYSIS_UUID" VARCHAR(50) NOT NULL,
  637. "COMPONENT_UUID" VARCHAR(50) NOT NULL,
  638. "TEXT_VALUE" VARCHAR(4000),
  639. "ALERT_STATUS" VARCHAR(5),
  640. "ALERT_TEXT" VARCHAR(4000),
  641. "DESCRIPTION" VARCHAR(4000),
  642. "PERSON_ID" INTEGER,
  643. "VARIATION_VALUE_1" DOUBLE,
  644. "VARIATION_VALUE_2" DOUBLE,
  645. "VARIATION_VALUE_3" DOUBLE,
  646. "VARIATION_VALUE_4" DOUBLE,
  647. "VARIATION_VALUE_5" DOUBLE,
  648. "MEASURE_DATA" BLOB
  649. );
  650. ALTER TABLE "PROJECT_MEASURES" ADD CONSTRAINT "PK_PROJECT_MEASURES" PRIMARY KEY("ID");
  651. CREATE INDEX "MEASURES_ANALYSIS_METRIC" ON "PROJECT_MEASURES"("ANALYSIS_UUID", "METRIC_ID");
  652. CREATE INDEX "MEASURES_COMPONENT_UUID" ON "PROJECT_MEASURES"("COMPONENT_UUID");
  653. CREATE TABLE "PROJECT_QGATES"(
  654. "PROJECT_UUID" VARCHAR(40) NOT NULL,
  655. "QUALITY_GATE_UUID" VARCHAR(40) NOT NULL
  656. );
  657. ALTER TABLE "PROJECT_QGATES" ADD CONSTRAINT "PK_PROJECT_QGATES" PRIMARY KEY("PROJECT_UUID");
  658. CREATE UNIQUE INDEX "UNIQ_PROJECT_QGATES" ON "PROJECT_QGATES"("PROJECT_UUID", "QUALITY_GATE_UUID");
  659. CREATE TABLE "PROJECT_QPROFILES"(
  660. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  661. "PROJECT_UUID" VARCHAR(50) NOT NULL,
  662. "PROFILE_KEY" VARCHAR(50) NOT NULL
  663. );
  664. ALTER TABLE "PROJECT_QPROFILES" ADD CONSTRAINT "PK_PROJECT_QPROFILES" PRIMARY KEY("ID");
  665. CREATE UNIQUE INDEX "UNIQ_PROJECT_QPROFILES" ON "PROJECT_QPROFILES"("PROJECT_UUID", "PROFILE_KEY");
  666. CREATE TABLE "PROJECTS"(
  667. "UUID" VARCHAR(40) NOT NULL,
  668. "KEE" VARCHAR(400) NOT NULL,
  669. "QUALIFIER" VARCHAR(10) NOT NULL,
  670. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  671. "NAME" VARCHAR(2000),
  672. "DESCRIPTION" VARCHAR(2000),
  673. "PRIVATE" BOOLEAN NOT NULL,
  674. "TAGS" VARCHAR(500),
  675. "CREATED_AT" BIGINT,
  676. "UPDATED_AT" BIGINT NOT NULL
  677. );
  678. ALTER TABLE "PROJECTS" ADD CONSTRAINT "PK_NEW_PROJECTS" PRIMARY KEY("UUID");
  679. CREATE UNIQUE INDEX "UNIQ_PROJECTS_KEE" ON "PROJECTS"("KEE");
  680. CREATE INDEX "IDX_QUALIFIER" ON "PROJECTS"("QUALIFIER");
  681. CREATE TABLE "PROPERTIES"(
  682. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  683. "PROP_KEY" VARCHAR(512) NOT NULL,
  684. "RESOURCE_ID" BIGINT,
  685. "USER_ID" BIGINT,
  686. "IS_EMPTY" BOOLEAN NOT NULL,
  687. "TEXT_VALUE" VARCHAR(4000),
  688. "CLOB_VALUE" CLOB(2147483647),
  689. "CREATED_AT" BIGINT NOT NULL
  690. );
  691. ALTER TABLE "PROPERTIES" ADD CONSTRAINT "PK_PROPERTIES" PRIMARY KEY("ID");
  692. CREATE INDEX "PROPERTIES_KEY" ON "PROPERTIES"("PROP_KEY");
  693. CREATE TABLE "QPROFILE_CHANGES"(
  694. "KEE" VARCHAR(40) NOT NULL,
  695. "RULES_PROFILE_UUID" VARCHAR(255) NOT NULL,
  696. "CHANGE_TYPE" VARCHAR(20) NOT NULL,
  697. "USER_UUID" VARCHAR(255),
  698. "CHANGE_DATA" CLOB(2147483647),
  699. "CREATED_AT" BIGINT NOT NULL
  700. );
  701. ALTER TABLE "QPROFILE_CHANGES" ADD CONSTRAINT "PK_QPROFILE_CHANGES" PRIMARY KEY("KEE");
  702. CREATE INDEX "QP_CHANGES_RULES_PROFILE_UUID" ON "QPROFILE_CHANGES"("RULES_PROFILE_UUID");
  703. CREATE TABLE "QPROFILE_EDIT_GROUPS"(
  704. "UUID" VARCHAR(40) NOT NULL,
  705. "GROUP_ID" INTEGER NOT NULL,
  706. "QPROFILE_UUID" VARCHAR(255) NOT NULL,
  707. "CREATED_AT" BIGINT NOT NULL
  708. );
  709. ALTER TABLE "QPROFILE_EDIT_GROUPS" ADD CONSTRAINT "PK_QPROFILE_EDIT_GROUPS" PRIMARY KEY("UUID");
  710. CREATE INDEX "QPROFILE_EDIT_GROUPS_QPROFILE" ON "QPROFILE_EDIT_GROUPS"("QPROFILE_UUID");
  711. CREATE UNIQUE INDEX "QPROFILE_EDIT_GROUPS_UNIQUE" ON "QPROFILE_EDIT_GROUPS"("GROUP_ID", "QPROFILE_UUID");
  712. CREATE TABLE "QPROFILE_EDIT_USERS"(
  713. "UUID" VARCHAR(40) NOT NULL,
  714. "USER_ID" INTEGER NOT NULL,
  715. "QPROFILE_UUID" VARCHAR(255) NOT NULL,
  716. "CREATED_AT" BIGINT NOT NULL
  717. );
  718. ALTER TABLE "QPROFILE_EDIT_USERS" ADD CONSTRAINT "PK_QPROFILE_EDIT_USERS" PRIMARY KEY("UUID");
  719. CREATE INDEX "QPROFILE_EDIT_USERS_QPROFILE" ON "QPROFILE_EDIT_USERS"("QPROFILE_UUID");
  720. CREATE UNIQUE INDEX "QPROFILE_EDIT_USERS_UNIQUE" ON "QPROFILE_EDIT_USERS"("USER_ID", "QPROFILE_UUID");
  721. CREATE TABLE "QUALITY_GATE_CONDITIONS"(
  722. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  723. "QGATE_ID" INTEGER,
  724. "METRIC_ID" INTEGER,
  725. "PERIOD" INTEGER,
  726. "OPERATOR" VARCHAR(3),
  727. "VALUE_ERROR" VARCHAR(64),
  728. "VALUE_WARNING" VARCHAR(64),
  729. "CREATED_AT" TIMESTAMP,
  730. "UPDATED_AT" TIMESTAMP
  731. );
  732. ALTER TABLE "QUALITY_GATE_CONDITIONS" ADD CONSTRAINT "PK_QUALITY_GATE_CONDITIONS" PRIMARY KEY("ID");
  733. CREATE TABLE "QUALITY_GATES"(
  734. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  735. "UUID" VARCHAR(40) NOT NULL,
  736. "NAME" VARCHAR(100) NOT NULL,
  737. "IS_BUILT_IN" BOOLEAN NOT NULL,
  738. "CREATED_AT" TIMESTAMP,
  739. "UPDATED_AT" TIMESTAMP
  740. );
  741. ALTER TABLE "QUALITY_GATES" ADD CONSTRAINT "PK_QUALITY_GATES" PRIMARY KEY("ID");
  742. CREATE UNIQUE INDEX "UNIQ_QUALITY_GATES_UUID" ON "QUALITY_GATES"("UUID");
  743. CREATE TABLE "RULE_REPOSITORIES"(
  744. "KEE" VARCHAR(200) NOT NULL,
  745. "LANGUAGE" VARCHAR(20) NOT NULL,
  746. "NAME" VARCHAR(4000) NOT NULL,
  747. "CREATED_AT" BIGINT NOT NULL
  748. );
  749. ALTER TABLE "RULE_REPOSITORIES" ADD CONSTRAINT "PK_RULE_REPOSITORIES" PRIMARY KEY("KEE");
  750. CREATE TABLE "RULES"(
  751. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  752. "NAME" VARCHAR(200),
  753. "PLUGIN_RULE_KEY" VARCHAR(200) NOT NULL,
  754. "PLUGIN_KEY" VARCHAR(200),
  755. "PLUGIN_CONFIG_KEY" VARCHAR(200),
  756. "PLUGIN_NAME" VARCHAR(255) NOT NULL,
  757. "SCOPE" VARCHAR(20) NOT NULL,
  758. "DESCRIPTION" CLOB(2147483647),
  759. "PRIORITY" INTEGER,
  760. "TEMPLATE_ID" INTEGER,
  761. "STATUS" VARCHAR(40),
  762. "LANGUAGE" VARCHAR(20),
  763. "DEF_REMEDIATION_FUNCTION" VARCHAR(20),
  764. "DEF_REMEDIATION_GAP_MULT" VARCHAR(20),
  765. "DEF_REMEDIATION_BASE_EFFORT" VARCHAR(20),
  766. "GAP_DESCRIPTION" VARCHAR(4000),
  767. "SYSTEM_TAGS" VARCHAR(4000),
  768. "IS_TEMPLATE" BOOLEAN DEFAULT FALSE NOT NULL,
  769. "DESCRIPTION_FORMAT" VARCHAR(20),
  770. "RULE_TYPE" TINYINT,
  771. "SECURITY_STANDARDS" VARCHAR(4000),
  772. "IS_AD_HOC" BOOLEAN NOT NULL,
  773. "IS_EXTERNAL" BOOLEAN NOT NULL,
  774. "CREATED_AT" BIGINT,
  775. "UPDATED_AT" BIGINT
  776. );
  777. ALTER TABLE "RULES" ADD CONSTRAINT "PK_RULES" PRIMARY KEY("ID");
  778. CREATE UNIQUE INDEX "RULES_REPO_KEY" ON "RULES"("PLUGIN_RULE_KEY", "PLUGIN_NAME");
  779. CREATE TABLE "RULES_METADATA"(
  780. "RULE_ID" INTEGER NOT NULL,
  781. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  782. "NOTE_DATA" CLOB(2147483647),
  783. "NOTE_USER_UUID" VARCHAR(255),
  784. "NOTE_CREATED_AT" BIGINT,
  785. "NOTE_UPDATED_AT" BIGINT,
  786. "REMEDIATION_FUNCTION" VARCHAR(20),
  787. "REMEDIATION_GAP_MULT" VARCHAR(20),
  788. "REMEDIATION_BASE_EFFORT" VARCHAR(20),
  789. "TAGS" VARCHAR(4000),
  790. "AD_HOC_NAME" VARCHAR(200),
  791. "AD_HOC_DESCRIPTION" CLOB(2147483647),
  792. "AD_HOC_SEVERITY" VARCHAR(10),
  793. "AD_HOC_TYPE" TINYINT,
  794. "CREATED_AT" BIGINT NOT NULL,
  795. "UPDATED_AT" BIGINT NOT NULL
  796. );
  797. ALTER TABLE "RULES_METADATA" ADD CONSTRAINT "PK_RULES_METADATA" PRIMARY KEY("RULE_ID", "ORGANIZATION_UUID");
  798. CREATE TABLE "RULES_PARAMETERS"(
  799. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  800. "RULE_ID" INTEGER NOT NULL,
  801. "NAME" VARCHAR(128) NOT NULL,
  802. "DESCRIPTION" VARCHAR(4000),
  803. "PARAM_TYPE" VARCHAR(512) NOT NULL,
  804. "DEFAULT_VALUE" VARCHAR(4000)
  805. );
  806. ALTER TABLE "RULES_PARAMETERS" ADD CONSTRAINT "PK_RULES_PARAMETERS" PRIMARY KEY("ID");
  807. CREATE INDEX "RULES_PARAMETERS_RULE_ID" ON "RULES_PARAMETERS"("RULE_ID");
  808. CREATE UNIQUE INDEX "RULES_PARAMETERS_UNIQUE" ON "RULES_PARAMETERS"("RULE_ID", "NAME");
  809. CREATE TABLE "RULES_PROFILES"(
  810. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  811. "NAME" VARCHAR(100) NOT NULL,
  812. "LANGUAGE" VARCHAR(20),
  813. "KEE" VARCHAR(255) NOT NULL,
  814. "IS_BUILT_IN" BOOLEAN NOT NULL,
  815. "RULES_UPDATED_AT" VARCHAR(100),
  816. "CREATED_AT" TIMESTAMP,
  817. "UPDATED_AT" TIMESTAMP
  818. );
  819. ALTER TABLE "RULES_PROFILES" ADD CONSTRAINT "PK_RULES_PROFILES" PRIMARY KEY("ID");
  820. CREATE UNIQUE INDEX "UNIQ_QPROF_KEY" ON "RULES_PROFILES"("KEE");
  821. CREATE TABLE "SNAPSHOTS"(
  822. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  823. "UUID" VARCHAR(50) NOT NULL,
  824. "COMPONENT_UUID" VARCHAR(50) NOT NULL,
  825. "STATUS" VARCHAR(4) DEFAULT 'U' NOT NULL,
  826. "ISLAST" BOOLEAN DEFAULT FALSE NOT NULL,
  827. "VERSION" VARCHAR(500),
  828. "PURGE_STATUS" INTEGER,
  829. "BUILD_STRING" VARCHAR(100),
  830. "REVISION" VARCHAR(100),
  831. "BUILD_DATE" BIGINT,
  832. "PERIOD1_MODE" VARCHAR(100),
  833. "PERIOD1_PARAM" VARCHAR(100),
  834. "PERIOD2_MODE" VARCHAR(100),
  835. "PERIOD2_PARAM" VARCHAR(100),
  836. "PERIOD3_MODE" VARCHAR(100),
  837. "PERIOD3_PARAM" VARCHAR(100),
  838. "PERIOD4_MODE" VARCHAR(100),
  839. "PERIOD4_PARAM" VARCHAR(100),
  840. "PERIOD5_MODE" VARCHAR(100),
  841. "PERIOD5_PARAM" VARCHAR(100),
  842. "PERIOD1_DATE" BIGINT,
  843. "PERIOD2_DATE" BIGINT,
  844. "PERIOD3_DATE" BIGINT,
  845. "PERIOD4_DATE" BIGINT,
  846. "PERIOD5_DATE" BIGINT,
  847. "CREATED_AT" BIGINT
  848. );
  849. ALTER TABLE "SNAPSHOTS" ADD CONSTRAINT "PK_SNAPSHOTS" PRIMARY KEY("ID");
  850. CREATE UNIQUE INDEX "ANALYSES_UUID" ON "SNAPSHOTS"("UUID");
  851. CREATE INDEX "SNAPSHOT_COMPONENT" ON "SNAPSHOTS"("COMPONENT_UUID");
  852. CREATE TABLE "USER_PROPERTIES"(
  853. "UUID" VARCHAR(40) NOT NULL,
  854. "USER_UUID" VARCHAR(255) NOT NULL,
  855. "KEE" VARCHAR(100) NOT NULL,
  856. "TEXT_VALUE" VARCHAR(4000) NOT NULL,
  857. "CREATED_AT" BIGINT NOT NULL,
  858. "UPDATED_AT" BIGINT NOT NULL
  859. );
  860. ALTER TABLE "USER_PROPERTIES" ADD CONSTRAINT "PK_USER_PROPERTIES" PRIMARY KEY("UUID");
  861. CREATE UNIQUE INDEX "USER_PROPERTIES_USER_UUID_KEE" ON "USER_PROPERTIES"("USER_UUID", "KEE");
  862. CREATE TABLE "USER_ROLES"(
  863. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  864. "ORGANIZATION_UUID" VARCHAR(40) NOT NULL,
  865. "USER_ID" INTEGER,
  866. "RESOURCE_ID" INTEGER,
  867. "ROLE" VARCHAR(64) NOT NULL
  868. );
  869. ALTER TABLE "USER_ROLES" ADD CONSTRAINT "PK_USER_ROLES" PRIMARY KEY("ID");
  870. CREATE INDEX "USER_ROLES_RESOURCE" ON "USER_ROLES"("RESOURCE_ID");
  871. CREATE INDEX "USER_ROLES_USER" ON "USER_ROLES"("USER_ID");
  872. CREATE TABLE "USER_TOKENS"(
  873. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  874. "USER_UUID" VARCHAR(255) NOT NULL,
  875. "NAME" VARCHAR(100) NOT NULL,
  876. "TOKEN_HASH" VARCHAR(255) NOT NULL,
  877. "LAST_CONNECTION_DATE" BIGINT,
  878. "CREATED_AT" BIGINT NOT NULL
  879. );
  880. ALTER TABLE "USER_TOKENS" ADD CONSTRAINT "PK_USER_TOKENS" PRIMARY KEY("ID");
  881. CREATE UNIQUE INDEX "USER_TOKENS_USER_UUID_NAME" ON "USER_TOKENS"("USER_UUID", "NAME");
  882. CREATE UNIQUE INDEX "USER_TOKENS_TOKEN_HASH" ON "USER_TOKENS"("TOKEN_HASH");
  883. CREATE TABLE "USERS"(
  884. "ID" INTEGER NOT NULL AUTO_INCREMENT (1,1),
  885. "UUID" VARCHAR(255) NOT NULL,
  886. "LOGIN" VARCHAR(255) NOT NULL,
  887. "ORGANIZATION_UUID" VARCHAR(40),
  888. "NAME" VARCHAR(200),
  889. "EMAIL" VARCHAR(100),
  890. "CRYPTED_PASSWORD" VARCHAR(100),
  891. "SALT" VARCHAR(40),
  892. "HASH_METHOD" VARCHAR(10),
  893. "ACTIVE" BOOLEAN DEFAULT TRUE,
  894. "SCM_ACCOUNTS" VARCHAR(4000),
  895. "EXTERNAL_LOGIN" VARCHAR(255) NOT NULL,
  896. "EXTERNAL_IDENTITY_PROVIDER" VARCHAR(100) NOT NULL,
  897. "EXTERNAL_ID" VARCHAR(255) NOT NULL,
  898. "IS_ROOT" BOOLEAN NOT NULL,
  899. "USER_LOCAL" BOOLEAN,
  900. "ONBOARDED" BOOLEAN NOT NULL,
  901. "HOMEPAGE_TYPE" VARCHAR(40),
  902. "HOMEPAGE_PARAMETER" VARCHAR(40),
  903. "LAST_CONNECTION_DATE" BIGINT,
  904. "CREATED_AT" BIGINT,
  905. "UPDATED_AT" BIGINT
  906. );
  907. ALTER TABLE "USERS" ADD CONSTRAINT "PK_USERS" PRIMARY KEY("ID");
  908. CREATE UNIQUE INDEX "USERS_LOGIN" ON "USERS"("LOGIN");
  909. CREATE INDEX "USERS_UPDATED_AT" ON "USERS"("UPDATED_AT");
  910. CREATE UNIQUE INDEX "USERS_UUID" ON "USERS"("UUID");
  911. CREATE UNIQUE INDEX "UNIQ_EXTERNAL_ID" ON "USERS"("EXTERNAL_IDENTITY_PROVIDER", "EXTERNAL_ID");
  912. CREATE UNIQUE INDEX "UNIQ_EXTERNAL_LOGIN" ON "USERS"("EXTERNAL_IDENTITY_PROVIDER", "EXTERNAL_LOGIN");
  913. CREATE TABLE "WEBHOOK_DELIVERIES"(
  914. "UUID" VARCHAR(40) NOT NULL,
  915. "WEBHOOK_UUID" VARCHAR(40) NOT NULL,
  916. "COMPONENT_UUID" VARCHAR(40) NOT NULL,
  917. "CE_TASK_UUID" VARCHAR(40),
  918. "ANALYSIS_UUID" VARCHAR(40),
  919. "NAME" VARCHAR(100) NOT NULL,
  920. "URL" VARCHAR(2000) NOT NULL,
  921. "SUCCESS" BOOLEAN NOT NULL,
  922. "HTTP_STATUS" INTEGER,
  923. "DURATION_MS" BIGINT NOT NULL,
  924. "PAYLOAD" CLOB(2147483647) NOT NULL,
  925. "ERROR_STACKTRACE" CLOB(2147483647),
  926. "CREATED_AT" BIGINT NOT NULL
  927. );
  928. ALTER TABLE "WEBHOOK_DELIVERIES" ADD CONSTRAINT "PK_WEBHOOK_DELIVERIES" PRIMARY KEY("UUID");
  929. CREATE INDEX "COMPONENT_UUID" ON "WEBHOOK_DELIVERIES"("COMPONENT_UUID");
  930. CREATE INDEX "CE_TASK_UUID" ON "WEBHOOK_DELIVERIES"("CE_TASK_UUID");
  931. CREATE TABLE "WEBHOOKS"(
  932. "UUID" VARCHAR(40) NOT NULL,
  933. "ORGANIZATION_UUID" VARCHAR(40),
  934. "PROJECT_UUID" VARCHAR(40),
  935. "NAME" VARCHAR(100) NOT NULL,
  936. "URL" VARCHAR(2000) NOT NULL,
  937. "SECRET" VARCHAR(200),
  938. "CREATED_AT" BIGINT NOT NULL,
  939. "UPDATED_AT" BIGINT
  940. );
  941. ALTER TABLE "WEBHOOKS" ADD CONSTRAINT "PK_WEBHOOKS" PRIMARY KEY("UUID");
  942. CREATE INDEX "ORGANIZATION_WEBHOOK" ON "WEBHOOKS"("ORGANIZATION_UUID");
  943. CREATE INDEX "PROJECT_WEBHOOK" ON "WEBHOOKS"("PROJECT_UUID");