注意事项:
1、数据迁移过程中,不要产生新的数据,否则可能出现数据错乱。
2、需要数据在同一个数据库实例上,所以需要先迁移九快记账到好记记账的数据库实例上(如果本身使用同一个实例则忽略)。
数据迁移流程:
1、九快记账数据迁移至好记数据库实例上。
2、九块记账中找到需要迁移的用户,在好记记账中注册被迁移的账号。
3、修改数据库脚本中的前5个参数(好记数据库、好记数据库、九块数据库、好记用户id、九块用户id)。
4、执行数据迁移脚本后登录好记网页版验证数据迁移结果
自行选择熟悉的数据库工具,这里以phpmyadmin为例。
登录九快记账数据库,导出对应数据库的sql。

导出示例:

首先查看导出的sql有没有create database命令,如果没有,则需要在脚本最见前增加以下sql:
# 创建一个数据库
CREATE DATABASE IF NOT EXISTS moneynote CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 使用这个数据库
USE moneynote;

然后保存sql脚本,并使用数据库工具连接好记的数据库实例,并执行这个脚本,这里依然以phpmyadmin为例:
注:phpmyadmin执行sql脚本限制文件大小,很多人有存储照片等,文件大小无法限制到2M以内,需要使用自己的数据库工具,例如:navicat、DataGrip等。

当数据库脚本执行完后,数据就迁移到好记数据库中了。
首先,在九块分组管理页面,打开开发者工具,点击network(网络)标签页。
具体步骤如下图所示:

然后点击用户列表 -> 开发者工具中的users -> Response(响应) -> 找到你的账号(username)对应的id -> 记住它后面用

以超级管理员账号登录你的好记管理系统,依次点击:系统管理 -> 用户管理。
找到你要迁移的用户,记住用户编号,后面用。

迁移脚本地址:
https://github.com/shuaichi/docker-compose-ali/blob/main/9%E5%BF%AB%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E8%87%B3%E5%A5%BD%E8%AE%B0.sql

修改框中的数据:
use 好记数据库
SET @new_schema = '好记数据库'
SET @old_schema = '九快数据库'
SET @new_user_id = 好记用户id(2.2中的id)
SET @old_user_id = 九块用户id(2.1中的id)
以phpmyadmin为例,点击SQL -> 复制脚本到查询框 -> 点击执行

当首页有数据时,证明数据迁移成功。

迁移1个用户即可,然后在分组管理中添加对应的用户。
moneynote脚本存在外键,现在mysql最佳实践不需要外键,需要删除脚本中的外键相关sql,具体如下所示:

删掉CONSTRAINT开头见建表语句中的行。
注意,建表字段最后一行末尾没有逗号,删掉这两行外键后,上面KEY那行末尾的逗号也要删掉。
数据库报错:No database selected
需要在sql脚本最前面增加USE 数据库命令。

USE fortune_boot;
数据库报错存储过程migrate_data已经存在,是因为之前执行数据迁移脚本失败过,需要原来失败的存储过程。

USE fortune_boot;
-- 清理存储过程
DROP PROCEDURE migrate_data;
如遇到本教程未记录的问题或者无法完成迁移,可进qq群:1009576058寻求帮助。