06_TRIGGERS.sql 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424
  1. # Triggers to update versions
  2. DELIMITER ;
  3. DELIMITER //
  4. CREATE PROCEDURE version_up(IN section_name VARCHAR(128))
  5. BEGIN
  6. UPDATE version SET version = version + 1 WHERE section = section_name;
  7. END;
  8. //
  9. CREATE TRIGGER version_i_activity AFTER INSERT ON activity FOR EACH ROW
  10. BEGIN
  11. CALL version_up('activity');
  12. END;
  13. //
  14. CREATE TRIGGER version_d_activity AFTER DELETE ON activity FOR EACH ROW
  15. BEGIN
  16. CALL version_up('activity');
  17. END;
  18. //
  19. CREATE TRIGGER version_u_activity AFTER UPDATE ON activity FOR EACH ROW
  20. BEGIN
  21. CALL version_up('activity');
  22. END;
  23. //
  24. CREATE TRIGGER version_i_activity_comment AFTER INSERT ON activity_comment FOR EACH ROW
  25. BEGIN
  26. CALL version_up('activity_comment');
  27. END;
  28. //
  29. CREATE TRIGGER version_d_activity_comment AFTER DELETE ON activity_comment FOR EACH ROW
  30. BEGIN
  31. CALL version_up('activity_comment');
  32. END;
  33. //
  34. CREATE TRIGGER version_u_activity_comment AFTER UPDATE ON activity_comment FOR EACH ROW
  35. BEGIN
  36. CALL version_up('activity_comment');
  37. END;
  38. //
  39. CREATE TRIGGER version_i_activity_image AFTER INSERT ON activity_image FOR EACH ROW
  40. BEGIN
  41. CALL version_up('activity_image');
  42. END;
  43. //
  44. CREATE TRIGGER version_d_activity_image AFTER DELETE ON activity_image FOR EACH ROW
  45. BEGIN
  46. CALL version_up('activity_image');
  47. END;
  48. //
  49. CREATE TRIGGER version_u_activity_image AFTER UPDATE ON activity_image FOR EACH ROW
  50. BEGIN
  51. CALL version_up('activity_image');
  52. END;
  53. //
  54. CREATE TRIGGER version_i_activity_itinerary AFTER INSERT ON activity_itinerary FOR EACH ROW
  55. BEGIN
  56. CALL version_up('activity_itinerary');
  57. END;
  58. //
  59. CREATE TRIGGER version_d_activity_itinerary AFTER DELETE ON activity_itinerary FOR EACH ROW
  60. BEGIN
  61. CALL version_up('activity_itinerary');
  62. END;
  63. //
  64. CREATE TRIGGER version_u_activity_itinerary AFTER UPDATE ON activity_itinerary FOR EACH ROW
  65. BEGIN
  66. CALL version_up('activity_itinerary');
  67. END;
  68. //
  69. CREATE TRIGGER version_i_activity_tag AFTER INSERT ON activity_tag FOR EACH ROW
  70. BEGIN
  71. CALL version_up('activity_tag');
  72. END;
  73. //
  74. CREATE TRIGGER version_d_activity_tag AFTER DELETE ON activity_tag FOR EACH ROW
  75. BEGIN
  76. CALL version_up('activity_tag');
  77. END;
  78. //
  79. CREATE TRIGGER version_u_activity_tag AFTER UPDATE ON activity_tag FOR EACH ROW
  80. BEGIN
  81. CALL version_up('activity_tag');
  82. END;
  83. //
  84. CREATE TRIGGER version_i_album AFTER INSERT ON album FOR EACH ROW
  85. BEGIN
  86. CALL version_up('album');
  87. END;
  88. //
  89. CREATE TRIGGER version_d_album AFTER DELETE ON album FOR EACH ROW
  90. BEGIN
  91. CALL version_up('album');
  92. END;
  93. //
  94. CREATE TRIGGER version_u_album AFTER UPDATE ON album FOR EACH ROW
  95. BEGIN
  96. CALL version_up('album');
  97. END;
  98. //
  99. CREATE TRIGGER version_i_festival AFTER INSERT ON festival FOR EACH ROW
  100. BEGIN
  101. CALL version_up('festival');
  102. END;
  103. //
  104. CREATE TRIGGER version_d_festival AFTER DELETE ON festival FOR EACH ROW
  105. BEGIN
  106. CALL version_up('festival');
  107. END;
  108. //
  109. CREATE TRIGGER version_u_festival AFTER UPDATE ON festival FOR EACH ROW
  110. BEGIN
  111. CALL version_up('festival');
  112. END;
  113. //
  114. CREATE TRIGGER version_i_festival_day AFTER INSERT ON festival_day FOR EACH ROW
  115. BEGIN
  116. CALL version_up('festival_day');
  117. END;
  118. //
  119. CREATE TRIGGER version_d_festival_day AFTER DELETE ON festival_day FOR EACH ROW
  120. BEGIN
  121. CALL version_up('festival_day');
  122. END;
  123. //
  124. CREATE TRIGGER version_u_festival_day AFTER UPDATE ON festival_day FOR EACH ROW
  125. BEGIN
  126. CALL version_up('festival_day');
  127. END;
  128. //
  129. CREATE TRIGGER version_i_festival_event AFTER INSERT ON festival_event FOR EACH ROW
  130. BEGIN
  131. IF NEW.gm = 0 THEN
  132. CALL version_up('festival_event_city');
  133. ELSE
  134. CALL version_up('festival_event_gm');
  135. END IF;
  136. END;
  137. //
  138. CREATE TRIGGER version_d_festival_event AFTER DELETE ON festival_event FOR EACH ROW
  139. BEGIN
  140. IF OLD.gm = 0 THEN
  141. CALL version_up('festival_event_city');
  142. ELSE
  143. CALL version_up('festival_event_gm');
  144. END IF;
  145. END;
  146. //
  147. CREATE TRIGGER version_u_festival_event AFTER UPDATE ON festival_event FOR EACH ROW
  148. BEGIN
  149. IF NEW.gm = 0 THEN
  150. CALL version_up('festival_event_city');
  151. ELSE
  152. CALL version_up('festival_event_gm');
  153. END IF;
  154. END;
  155. //
  156. CREATE TRIGGER version_i_festival_event_image AFTER INSERT ON festival_event_image FOR EACH ROW
  157. BEGIN
  158. CALL version_up('festival_event_image');
  159. END;
  160. //
  161. CREATE TRIGGER version_d_festival_event_image AFTER DELETE ON festival_event_image FOR EACH ROW
  162. BEGIN
  163. CALL version_up('festival_event_image');
  164. END;
  165. //
  166. CREATE TRIGGER version_u_festival_event_image AFTER UPDATE ON festival_event_image FOR EACH ROW
  167. BEGIN
  168. CALL version_up('festival_event_image');
  169. END;
  170. //
  171. CREATE TRIGGER version_i_festival_offer AFTER INSERT ON festival_offer FOR EACH ROW
  172. BEGIN
  173. CALL version_up('festival_offer');
  174. END;
  175. //
  176. CREATE TRIGGER version_d_festival_offer AFTER DELETE ON festival_offer FOR EACH ROW
  177. BEGIN
  178. CALL version_up('festival_offer');
  179. END;
  180. //
  181. CREATE TRIGGER version_u_festival_offer AFTER UPDATE ON festival_offer FOR EACH ROW
  182. BEGIN
  183. CALL version_up('festival_offer');
  184. END;
  185. //
  186. CREATE TRIGGER version_i_people AFTER INSERT ON people FOR EACH ROW
  187. BEGIN
  188. CALL version_up('people');
  189. END;
  190. //
  191. CREATE TRIGGER version_d_people AFTER DELETE ON people FOR EACH ROW
  192. BEGIN
  193. CALL version_up('people');
  194. END;
  195. //
  196. CREATE TRIGGER version_u_people AFTER UPDATE ON people FOR EACH ROW
  197. BEGIN
  198. CALL version_up('people');
  199. END;
  200. //
  201. CREATE TRIGGER version_i_photo AFTER INSERT ON photo FOR EACH ROW
  202. BEGIN
  203. CALL version_up('photo');
  204. END;
  205. //
  206. CREATE TRIGGER version_d_photo AFTER DELETE ON photo FOR EACH ROW
  207. BEGIN
  208. CALL version_up('photo');
  209. END;
  210. //
  211. CREATE TRIGGER version_u_photo AFTER UPDATE ON photo FOR EACH ROW
  212. BEGIN
  213. CALL version_up('photo');
  214. END;
  215. //
  216. CREATE TRIGGER version_i_photo_album AFTER INSERT ON photo_album FOR EACH ROW
  217. BEGIN
  218. CALL version_up('photo_album');
  219. END;
  220. //
  221. CREATE TRIGGER version_d_photo_album AFTER DELETE ON photo_album FOR EACH ROW
  222. BEGIN
  223. CALL version_up('photo_album');
  224. END;
  225. //
  226. CREATE TRIGGER version_u_photo_album AFTER UPDATE ON photo_album FOR EACH ROW
  227. BEGIN
  228. CALL version_up('photo_album');
  229. END;
  230. //
  231. CREATE TRIGGER version_i_photo_comment AFTER INSERT ON photo_comment FOR EACH ROW
  232. BEGIN
  233. CALL version_up('photo_comment');
  234. END;
  235. //
  236. CREATE TRIGGER version_d_photo_comment AFTER DELETE ON photo_comment FOR EACH ROW
  237. BEGIN
  238. CALL version_up('photo_comment');
  239. END;
  240. //
  241. CREATE TRIGGER version_u_photo_comment AFTER UPDATE ON photo_comment FOR EACH ROW
  242. BEGIN
  243. CALL version_up('photo_comment');
  244. END;
  245. //
  246. CREATE TRIGGER version_i_place AFTER INSERT ON place FOR EACH ROW
  247. BEGIN
  248. CALL version_up('place');
  249. END;
  250. //
  251. CREATE TRIGGER version_d_place AFTER DELETE ON place FOR EACH ROW
  252. BEGIN
  253. CALL version_up('place');
  254. END;
  255. //
  256. CREATE TRIGGER version_u_place AFTER UPDATE ON place FOR EACH ROW
  257. BEGIN
  258. CALL version_up('place');
  259. END;
  260. //
  261. CREATE TRIGGER version_i_post AFTER INSERT ON post FOR EACH ROW
  262. BEGIN
  263. CALL version_up('post');
  264. END;
  265. //
  266. CREATE TRIGGER version_d_post AFTER DELETE ON post FOR EACH ROW
  267. BEGIN
  268. CALL version_up('post');
  269. END;
  270. //
  271. CREATE TRIGGER version_u_post AFTER UPDATE ON post FOR EACH ROW
  272. BEGIN
  273. CALL version_up('post');
  274. END;
  275. //
  276. CREATE TRIGGER version_i_post_comment AFTER INSERT ON post_comment FOR EACH ROW
  277. BEGIN
  278. CALL version_up('post_comment');
  279. END;
  280. //
  281. CREATE TRIGGER version_d_post_comment AFTER DELETE ON post_comment FOR EACH ROW
  282. BEGIN
  283. CALL version_up('post_comment');
  284. END;
  285. //
  286. CREATE TRIGGER version_u_post_comment AFTER UPDATE ON post_comment FOR EACH ROW
  287. BEGIN
  288. CALL version_up('post_comment');
  289. END;
  290. //
  291. CREATE TRIGGER version_i_post_image AFTER INSERT ON post_image FOR EACH ROW
  292. BEGIN
  293. CALL version_up('post_image');
  294. END;
  295. //
  296. CREATE TRIGGER version_d_post_image AFTER DELETE ON post_image FOR EACH ROW
  297. BEGIN
  298. CALL version_up('post_image');
  299. END;
  300. //
  301. CREATE TRIGGER version_u_post_image AFTER UPDATE ON post_image FOR EACH ROW
  302. BEGIN
  303. CALL version_up('post_image');
  304. END;
  305. //
  306. CREATE TRIGGER version_i_post_tag AFTER INSERT ON post_tag FOR EACH ROW
  307. BEGIN
  308. CALL version_up('post_tag');
  309. END;
  310. //
  311. CREATE TRIGGER version_d_post_tag AFTER DELETE ON post_tag FOR EACH ROW
  312. BEGIN
  313. CALL version_up('post_tag');
  314. END;
  315. //
  316. CREATE TRIGGER version_u_post_tag AFTER UPDATE ON post_tag FOR EACH ROW
  317. BEGIN
  318. CALL version_up('post_tag');
  319. END;
  320. //
  321. CREATE TRIGGER version_i_settings AFTER INSERT ON settings FOR EACH ROW
  322. BEGIN
  323. CALL version_up('settings');
  324. END;
  325. //
  326. CREATE TRIGGER version_d_settings AFTER DELETE ON settings FOR EACH ROW
  327. BEGIN
  328. CALL version_up('settings');
  329. END;
  330. //
  331. CREATE TRIGGER version_u_settings AFTER UPDATE ON settings FOR EACH ROW
  332. BEGIN
  333. CALL version_up('settings');
  334. END;
  335. //
  336. CREATE TRIGGER version_i_sponsor AFTER INSERT ON sponsor FOR EACH ROW
  337. BEGIN
  338. CALL version_up('sponsor');
  339. END;
  340. //
  341. CREATE TRIGGER version_d_sponsor AFTER DELETE ON sponsor FOR EACH ROW
  342. BEGIN
  343. CALL version_up('sponsor');
  344. END;
  345. //
  346. CREATE TRIGGER version_u_sponsor AFTER UPDATE ON sponsor FOR EACH ROW
  347. BEGIN
  348. IF (NEW.print = OLD.print AND NEW.print_static = OLD.print_static AND NEW.click = OLD.click AND NEW.ammount = OLD.ammount) THEN
  349. CALL version_up('sponsor');
  350. END IF;
  351. END;
  352. //
  353. DELIMITER ;