1_data_migration_logger.sql 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # 支持断点续迁,需要执行如下 sql
  2. CREATE DATABASE trs_data_migration;
  3. USE trs_data_migration;
  4. CREATE TABLE data_migration_log(
  5. table_name VARCHAR(100) NOT NULL COMMENT '迁移的表名',
  6. prev_id BIGINT(20) NOT NULL COMMENT '上一条数据ID',
  7. PRIMARY KEY (table_name)
  8. );
  9. SET GLOBAL log_bin_trust_function_creators = TRUE;
  10. DROP FUNCTION IF EXISTS build_migration_log_sql;
  11. DELIMITER $$
  12. CREATE FUNCTION build_migration_log_sql(table_name VARCHAR(100), id BIGINT(20))
  13. RETURNS VARCHAR(255)
  14. BEGIN
  15. DECLARE x VARCHAR(255) DEFAULT '';
  16. IF (id < 0)
  17. THEN SET id = 1000000000;
  18. END IF ;
  19. SET x = concat('insert into ',
  20. 'trs_data_migration.data_migration_log (',
  21. 'table_name, ',
  22. 'prev_id',
  23. ') ',
  24. 'values(',
  25. '\'', table_name, '\',',
  26. id,
  27. ') ',
  28. 'on duplicate key update ',
  29. 'prev_id = ', id);
  30. RETURN x;
  31. END $$