dolphinscheduler_ddl.sql 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. /*
  2. * Licensed to the Apache Software Foundation (ASF) under one or more
  3. * contributor license agreements. See the NOTICE file distributed with
  4. * this work for additional information regarding copyright ownership.
  5. * The ASF licenses this file to You under the Apache License, Version 2.0
  6. * (the "License"); you may not use this file except in compliance with
  7. * the License. You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. -- uc_dolphin_T_t_ds_process_definition_A_modify_by
  18. delimiter d//
  19. CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_process_definition_A_modify_by() RETURNS void AS $$
  20. BEGIN
  21. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  22. WHERE TABLE_NAME='t_ds_process_definition'
  23. AND COLUMN_NAME ='modify_by')
  24. THEN
  25. ALTER TABLE t_ds_process_definition ADD COLUMN modify_by varchar(36) DEFAULT '';
  26. END IF;
  27. END;
  28. $$ LANGUAGE plpgsql;
  29. d//
  30. delimiter ;
  31. SELECT uc_dolphin_T_t_ds_process_definition_A_modify_by();
  32. DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_process_definition_A_modify_by();
  33. -- uc_dolphin_T_t_ds_task_instance_A_executor_id
  34. delimiter d//
  35. CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_task_instance_A_executor_id() RETURNS void AS $$
  36. BEGIN
  37. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  38. WHERE TABLE_NAME='t_ds_task_instance'
  39. AND COLUMN_NAME ='executor_id')
  40. THEN
  41. ALTER TABLE t_ds_task_instance ADD COLUMN executor_id int DEFAULT NULL;
  42. END IF;
  43. END;
  44. $$ LANGUAGE plpgsql;
  45. d//
  46. delimiter ;
  47. SELECT uc_dolphin_T_t_ds_task_instance_A_executor_id();
  48. DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_task_instance_A_executor_id();
  49. -- uc_dolphin_T_t_ds_task_instance_C_app_link
  50. delimiter d//
  51. CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_task_instance_C_app_link() RETURNS void AS $$
  52. BEGIN
  53. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  54. WHERE TABLE_NAME='t_ds_task_instance'
  55. AND COLUMN_NAME ='app_link')
  56. THEN
  57. ALTER TABLE t_ds_task_instance ALTER COLUMN app_link type text;
  58. END IF;
  59. END;
  60. $$ LANGUAGE plpgsql;
  61. d//
  62. delimiter ;
  63. SELECT uc_dolphin_T_t_ds_task_instance_C_app_link();
  64. DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_task_instance_C_app_link();
  65. -- ac_dolphin_T_t_ds_resources_A_pid
  66. delimiter d//
  67. CREATE FUNCTION ac_dolphin_T_t_ds_resources_A_pid() RETURNS void AS $$
  68. BEGIN
  69. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  70. WHERE TABLE_CATALOG=current_database()
  71. AND TABLE_SCHEMA=current_schema()
  72. AND TABLE_NAME='t_ds_resources'
  73. AND COLUMN_NAME ='pid')
  74. THEN
  75. ALTER TABLE t_ds_resources ADD COLUMN pid int DEFAULT -1;
  76. END IF;
  77. END;
  78. $$ LANGUAGE plpgsql;
  79. d//
  80. delimiter ;
  81. select ac_dolphin_T_t_ds_resources_A_pid();
  82. DROP FUNCTION ac_dolphin_T_t_ds_resources_A_pid();
  83. -- ac_dolphin_T_t_ds_resources_A_full_name
  84. delimiter ;
  85. DROP FUNCTION IF EXISTS ac_dolphin_T_t_ds_resources_A_full_name();
  86. delimiter d//
  87. CREATE FUNCTION ac_dolphin_T_t_ds_resources_A_full_name() RETURNS void AS $$
  88. BEGIN
  89. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  90. WHERE TABLE_CATALOG=current_database()
  91. AND TABLE_SCHEMA=current_schema()
  92. AND TABLE_NAME='t_ds_resources'
  93. AND COLUMN_NAME ='full_name')
  94. THEN
  95. ALTER TABLE t_ds_resources ADD COLUMN full_name varchar(255) DEFAULT null;
  96. END IF;
  97. END;
  98. $$ LANGUAGE plpgsql;
  99. d//
  100. delimiter ;
  101. select ac_dolphin_T_t_ds_resources_A_full_name();
  102. DROP FUNCTION ac_dolphin_T_t_ds_resources_A_full_name();
  103. -- ac_dolphin_T_t_ds_resources_A_is_directory
  104. delimiter ;
  105. DROP FUNCTION IF EXISTS ac_dolphin_T_t_ds_resources_A_is_directory();
  106. delimiter d//
  107. CREATE FUNCTION ac_dolphin_T_t_ds_resources_A_is_directory() RETURNS void AS $$
  108. BEGIN
  109. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  110. WHERE TABLE_CATALOG=current_database()
  111. AND TABLE_SCHEMA=current_schema()
  112. AND TABLE_NAME='t_ds_resources'
  113. AND COLUMN_NAME ='is_directory')
  114. THEN
  115. ALTER TABLE t_ds_resources ADD COLUMN is_directory boolean DEFAULT false;
  116. END IF;
  117. END;
  118. $$ LANGUAGE plpgsql;
  119. d//
  120. delimiter ;
  121. select ac_dolphin_T_t_ds_resources_A_is_directory();
  122. DROP FUNCTION ac_dolphin_T_t_ds_resources_A_is_directory();
  123. -- ac_dolphin_T_t_ds_process_definition_A_resource_ids
  124. delimiter ;
  125. DROP FUNCTION IF EXISTS ac_dolphin_T_t_ds_process_definition_A_resource_ids();
  126. delimiter d//
  127. CREATE FUNCTION ac_dolphin_T_t_ds_process_definition_A_resource_ids() RETURNS void AS $$
  128. BEGIN
  129. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  130. WHERE TABLE_CATALOG=current_database()
  131. AND TABLE_SCHEMA=current_schema()
  132. AND TABLE_NAME='t_ds_process_definition'
  133. AND COLUMN_NAME ='resource_ids')
  134. THEN
  135. ALTER TABLE t_ds_process_definition ADD COLUMN resource_ids varchar(255) DEFAULT null;
  136. END IF;
  137. END;
  138. $$ LANGUAGE plpgsql;
  139. d//
  140. delimiter ;
  141. select ac_dolphin_T_t_ds_process_definition_A_resource_ids();
  142. DROP FUNCTION ac_dolphin_T_t_ds_process_definition_A_resource_ids();
  143. -- uc_dolphin_T_t_ds_process_instance_R_worker_group_id
  144. delimiter ;
  145. DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_process_instance_R_worker_group_id();
  146. delimiter d//
  147. CREATE FUNCTION uc_dolphin_T_t_ds_process_instance_R_worker_group_id() RETURNS void AS $$
  148. BEGIN
  149. IF EXISTS (SELECT 1 FROM information_schema.COLUMNS
  150. WHERE TABLE_CATALOG=current_database()
  151. AND TABLE_SCHEMA=current_schema()
  152. AND TABLE_NAME='t_ds_process_instance'
  153. AND COLUMN_NAME ='worker_group_id')
  154. THEN
  155. ALTER TABLE t_ds_process_instance RENAME worker_group_id TO worker_group;
  156. ALTER TABLE t_ds_process_instance ALTER COLUMN worker_group type varchar(64);
  157. END IF;
  158. END;
  159. $$ LANGUAGE plpgsql;
  160. d//
  161. delimiter ;
  162. select uc_dolphin_T_t_ds_process_instance_R_worker_group_id();
  163. DROP FUNCTION uc_dolphin_T_t_ds_process_instance_R_worker_group_id();
  164. -- uc_dolphin_T_t_ds_task_instance_R_worker_group_id
  165. delimiter ;
  166. DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_task_instance_R_worker_group_id();
  167. delimiter d//
  168. CREATE FUNCTION uc_dolphin_T_t_ds_task_instance_R_worker_group_id() RETURNS void AS $$
  169. BEGIN
  170. IF EXISTS (SELECT 1 FROM information_schema.COLUMNS
  171. WHERE TABLE_CATALOG=current_database()
  172. AND TABLE_SCHEMA=current_schema()
  173. AND TABLE_NAME='t_ds_task_instance'
  174. AND COLUMN_NAME ='worker_group_id')
  175. THEN
  176. ALTER TABLE t_ds_task_instance rename worker_group_id to worker_group;
  177. ALTER TABLE t_ds_task_instance alter column worker_group type varchar(64);
  178. END IF;
  179. END;
  180. $$ LANGUAGE plpgsql;
  181. d//
  182. delimiter ;
  183. select uc_dolphin_T_t_ds_task_instance_R_worker_group_id();
  184. DROP FUNCTION uc_dolphin_T_t_ds_task_instance_R_worker_group_id();
  185. -- uc_dolphin_T_t_ds_schedules_R_worker_group_id
  186. delimiter ;
  187. DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_schedules_R_worker_group_id();
  188. delimiter d//
  189. CREATE FUNCTION uc_dolphin_T_t_ds_schedules_R_worker_group_id() RETURNS void AS $$
  190. BEGIN
  191. IF EXISTS (SELECT 1 FROM information_schema.COLUMNS
  192. WHERE TABLE_CATALOG=current_database()
  193. AND TABLE_SCHEMA=current_schema()
  194. AND TABLE_NAME='t_ds_schedules'
  195. AND COLUMN_NAME ='worker_group_id')
  196. THEN
  197. ALTER TABLE t_ds_schedules rename worker_group_id to worker_group;
  198. ALTER TABLE t_ds_schedules alter column worker_group type varchar(64);
  199. END IF;
  200. END;
  201. $$ LANGUAGE plpgsql;
  202. d//
  203. delimiter ;
  204. select uc_dolphin_T_t_ds_schedules_R_worker_group_id();
  205. DROP FUNCTION uc_dolphin_T_t_ds_schedules_R_worker_group_id();
  206. -- uc_dolphin_T_t_ds_command_R_worker_group_id
  207. delimiter ;
  208. DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_command_R_worker_group_id();
  209. delimiter d//
  210. CREATE FUNCTION uc_dolphin_T_t_ds_command_R_worker_group_id() RETURNS void AS $$
  211. BEGIN
  212. IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS
  213. WHERE TABLE_CATALOG=current_database()
  214. AND TABLE_SCHEMA=current_schema()
  215. AND TABLE_NAME='t_ds_command'
  216. AND COLUMN_NAME ='worker_group')
  217. THEN
  218. ALTER TABLE t_ds_command rename worker_group_id to worker_group;
  219. ALTER TABLE t_ds_command alter column worker_group type varchar(64);
  220. END IF;
  221. END;
  222. $$ LANGUAGE plpgsql;
  223. d//
  224. delimiter ;
  225. select uc_dolphin_T_t_ds_command_R_worker_group_id();
  226. DROP FUNCTION uc_dolphin_T_t_ds_command_R_worker_group_id();
  227. -- uc_dolphin_T_t_ds_error_command_R_worker_group_id
  228. delimiter ;
  229. DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_error_command_R_worker_group_id();
  230. delimiter d//
  231. CREATE FUNCTION uc_dolphin_T_t_ds_error_command_R_worker_group_id() RETURNS void AS $$
  232. BEGIN
  233. IF EXISTS (SELECT 1 FROM information_schema.COLUMNS
  234. WHERE TABLE_CATALOG=current_database()
  235. AND TABLE_SCHEMA=current_schema()
  236. AND TABLE_NAME='t_ds_error_command'
  237. AND COLUMN_NAME ='worker_group_id')
  238. THEN
  239. ALTER TABLE t_ds_error_command rename worker_group_id to worker_group;
  240. ALTER TABLE t_ds_error_command alter column worker_group type varchar(64);
  241. END IF;
  242. END;
  243. $$ LANGUAGE plpgsql;
  244. d//
  245. delimiter ;
  246. select uc_dolphin_T_t_ds_error_command_R_worker_group_id();
  247. DROP FUNCTION uc_dolphin_T_t_ds_error_command_R_worker_group_id();
  248. -- uc_dolphin_T_t_ds_process_definition_A_process_definition_unique
  249. delimiter d//
  250. CREATE OR REPLACE FUNCTION uc_dolphin_T_t_ds_process_definition_A_process_definition_unique() RETURNS void AS $$
  251. BEGIN
  252. IF NOT EXISTS (SELECT 1 FROM pg_stat_all_indexes
  253. WHERE relname='t_ds_process_definition'
  254. AND indexrelname ='process_definition_unique')
  255. THEN
  256. ALTER TABLE t_ds_process_definition ADD CONSTRAINT process_definition_unique UNIQUE (name,project_id);
  257. END IF;
  258. END;
  259. $$ LANGUAGE plpgsql;
  260. d//
  261. delimiter ;
  262. SELECT uc_dolphin_T_t_ds_process_definition_A_process_definition_unique();
  263. DROP FUNCTION IF EXISTS uc_dolphin_T_t_ds_process_definition_A_process_definition_unique();