activiti.mysql.upgradestep.515.to.5151.engine.sql 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #
  2. # Activiti 5.15 shipped with some broken DDL statements for MySQL 5.6+ concering timestamps with millisecond precision
  3. # If you are currently running on <= 5.14, simply execute the 5.15 and 5.15.1 update scripts.
  4. # They have some duplication, but your shema will be in a correct state afterwards
  5. # If you are currently running 5.15 on MySQL 5.6+ (by a sheer of luck of having data that didn't clash with the DDL),
  6. # execute the 5.15.1 upgrade script, and all bugs shipped in Activiti 5.15 around these timestamp problems have been solved.
  7. #
  8. # Following statements are a duplication of the 5.15 updates. See above explanation why they need to be repeated.
  9. #
  10. # ACT-1867: MySQL DATETIME and TIMESTAMP precision
  11. # The way this is done, is by creating a new column, pumping over all data
  12. # and then removing the old column.
  13. #
  14. # DEPLOY_TIME_ in ACT_RE_DEPLOYMENT
  15. ALTER TABLE ACT_RE_DEPLOYMENT ADD DEPLOY_TIME_TEMP_ timestamp(3);
  16. UPDATE ACT_RE_DEPLOYMENT SET DEPLOY_TIME_TEMP_ = DEPLOY_TIME_;
  17. ALTER TABLE ACT_RE_DEPLOYMENT DROP COLUMN DEPLOY_TIME_;
  18. ALTER TABLE ACT_RE_DEPLOYMENT CHANGE DEPLOY_TIME_TEMP_ DEPLOY_TIME_ timestamp(3);
  19. # CREATE_TIME_ in ACT_RE_MODEL
  20. ALTER TABLE ACT_RE_MODEL ADD CREATE_TIME_TEMP_ timestamp(3) null;
  21. UPDATE ACT_RE_MODEL SET CREATE_TIME_TEMP_ = CREATE_TIME_;
  22. ALTER TABLE ACT_RE_MODEL DROP COLUMN CREATE_TIME_;
  23. ALTER TABLE ACT_RE_MODEL CHANGE CREATE_TIME_TEMP_ CREATE_TIME_ timestamp(3) null;
  24. # LAST_UPDATE_TIME_ in ACT_RE_MODEL
  25. ALTER TABLE ACT_RE_MODEL ADD LAST_UPDATE_TIME_TEMP_ timestamp(3) null;
  26. UPDATE ACT_RE_MODEL SET LAST_UPDATE_TIME_TEMP_ = LAST_UPDATE_TIME_;
  27. ALTER TABLE ACT_RE_MODEL DROP COLUMN LAST_UPDATE_TIME_;
  28. ALTER TABLE ACT_RE_MODEL CHANGE LAST_UPDATE_TIME_TEMP_ LAST_UPDATE_TIME_ timestamp(3) null;
  29. # LOCK_EXP_TIME_ in ACT_RU_JOB
  30. ALTER TABLE ACT_RU_JOB ADD LOCK_EXP_TIME_TEMP_ timestamp(3) null;
  31. UPDATE ACT_RU_JOB SET LOCK_EXP_TIME_TEMP_ = LOCK_EXP_TIME_;
  32. ALTER TABLE ACT_RU_JOB DROP COLUMN LOCK_EXP_TIME_;
  33. ALTER TABLE ACT_RU_JOB CHANGE LOCK_EXP_TIME_TEMP_ LOCK_EXP_TIME_ timestamp(3) null;
  34. # DUEDATE_ in ACT_RU_JOB
  35. ALTER TABLE ACT_RU_JOB ADD DUEDATE_TEMP_ timestamp(3) null;
  36. UPDATE ACT_RU_JOB SET DUEDATE_TEMP_ = DUEDATE_;
  37. ALTER TABLE ACT_RU_JOB DROP COLUMN DUEDATE_;
  38. ALTER TABLE ACT_RU_JOB CHANGE DUEDATE_TEMP_ DUEDATE_ timestamp(3) null;
  39. # CREATE_TIME_ in ACT_RU_TASK
  40. ALTER TABLE ACT_RU_TASK ADD CREATE_TIME_TEMP_ timestamp(3);
  41. UPDATE ACT_RU_TASK SET CREATE_TIME_TEMP_ = CREATE_TIME_;
  42. ALTER TABLE ACT_RU_TASK DROP COLUMN CREATE_TIME_;
  43. ALTER TABLE ACT_RU_TASK CHANGE CREATE_TIME_TEMP_ CREATE_TIME_ timestamp(3);
  44. # DUE_DATE_ in ACT_RU_TASK
  45. ALTER TABLE ACT_RU_TASK ADD DUE_DATE_TEMP_ datetime(3);
  46. UPDATE ACT_RU_TASK SET DUE_DATE_TEMP_ = DUE_DATE_;
  47. ALTER TABLE ACT_RU_TASK DROP COLUMN DUE_DATE_;
  48. ALTER TABLE ACT_RU_TASK CHANGE DUE_DATE_TEMP_ DUE_DATE_ datetime(3);
  49. # CREATED_ in ACT_RU_EVENT_SUBSCR
  50. ALTER TABLE ACT_RU_EVENT_SUBSCR ADD CREATED_TEMP_ timestamp(3) not null;
  51. UPDATE ACT_RU_EVENT_SUBSCR SET CREATED_TEMP_ = CREATED_;
  52. ALTER TABLE ACT_RU_EVENT_SUBSCR DROP COLUMN CREATED_;
  53. ALTER TABLE ACT_RU_EVENT_SUBSCR CHANGE CREATED_TEMP_ CREATED_ timestamp(3) not null DEFAULT CURRENT_TIMESTAMP(3);
  54. update ACT_GE_PROPERTY set VALUE_ = '5.15.1' where NAME_ = 'schema.version';