更新记录
1.2.1(2022-06-16)
- 优化文档说明。
文档地址:点击查看
1.2.0(2022-05-25)
vk.db.config.js
新增handleObjectKeyName
配置,是否同时需要处理满足阿里云_id格式的字段名(true:同时处理字段名和字段值 false:只处理字段值,默认true)- 优化部分细节。
文档地址:点击查看
平台兼容性
阿里云 | 腾讯云 |
---|---|
√ | √ |
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
3.1.0 app-vue app-nvue | √ | √ | √ | √ | √ | √ |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 小红书小程序 |
---|---|---|---|---|
× | × | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
数据库一键搬家工具
一键搬家的优势
-
1、
官方的web控制台
需要一个一个表导出导入,操作繁琐。而一键搬家
不需要。 -
2、直接用
官方的web控制台
导出的json文件导入腾讯云,会出现24位id和外键搜索查不到的bug。而一键搬家
自动帮你所有24位id增加1位解决此bug。 -
3、不仅支持将
A账号
下的A1空间
搬家到A2空间
,还支持将A账号
下的A1空间
搬家到B账号
下的B1空间
。 -
4、省心、省力、解放双手!
一键搬家最重要的优势
如果你用 官方的web控制台
从阿里云空间导出的json文件导入腾讯云空间,你会发现根据 _id
搜索时,有可能无法搜索到数据,那是因为腾讯云不支持阿里云生成的24位 _id
,阿里云生成的24位 _id
导入到腾讯云空间后,会造成无法根据 _id
来查询数据,而 一键搬家
可以帮你完美解决这个棘手问题。
效果视频
<video src="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-cf0c5e69-620c-4f3c-84ab-f4619262939f/257dab2e-eedc-48c4-aef7-d6149ea7b97b.mp4" controls="controls" > 您的浏览器不支持 video 标签。 </video>如果视频无法观看,请复制视频链接到浏览器中观看
视频地址: https://vkceyugu.cdn.bspapp.com/VKCEYUGU-cf0c5e69-620c-4f3c-84ab-f4619262939f/257dab2e-eedc-48c4-aef7-d6149ea7b97b.mp4
名词定义
-
1、旧空间:就是你需要搬家的空间。
-
2、新空间:就是你需要把旧空间搬到这的空间。
注意事项
-
1、请确保
旧空间
和新空间
是可以正常访问的空间。 -
2、
新空间
数据库的数据在导入前会被全部清空
(需要注意空间别选错了,否则后果自负)。 -
3、
旧空间
数据库的数据不会被清空
(也不会被修改) -
4、请一定要在阿里云环境
相对稳定
的时间段进行搬家(如果当前阿里云出故障
了,不稳定
,则请等阿里云环境稳定了再进行搬家) -
5、腾讯云的空间会消耗数据库查询、写入次数,以及云函数流量。
-
6、目前大致耗时 = (你数据量总记录数 / 1000) 秒(即每秒搬1000条数据)(后面会继续优化这个速度)
-
7、如有问题,可以加Q群:
22466457
进行反馈(关于插件问题必定会得到处理)。
插件市场地址
操作步骤
- 1、打开【一键搬家】项目根目录
vk.db.config.js
配置文件,修改oldEnv
、newEnv
、db
配置
可以自动根据 db_init.json
生成 vk.db.config.js
(在项目根目录执行 node vk.create-db-config.js
,可以自动根据 db_init.json
文件生成数据库表名列表)
_如何获取 db_init.json
_
在 uniCloud控制台
导出 db_init.json
选择只导出首条记录,生成不包含ID(包含也没事)【一键搬家】运行时,会自动清空新空间的数据。(也可以直接从你旧项目中复制 db_init.json
,但需保证旧项目中的 db_init.json
包含了所有表和表索引)
-
2、【一键搬家】项目绑定
旧空间
,并上传云函数vk-db-migration
-
3、【一键搬家】项目切换到
新空间
,在新空间
也上传云函数vk-db-migration
如何切换空间?
右键 uniCloud
目录,点击关联空间,选择需要切换的空间。
如何切换阿里云和腾讯云空间
右键 uniCloud
目录,点击重命名,腾讯云为: uniCloud-tcb
,阿里云为 uniCloud-aliyun
,然后再右键 uniCloud
目录,点击关联空间,选择需要切换的空间。
特别注意:如果你购买的是普通授权版(非源码授权版),你可能需为两个空间各购买1次插件。
-
4、在
新空间
初始化你自己数据库的db_init.json
(注意,最好不带任何数据库数据,这步骤只为了创建数据库索引,但即使带了也没事,【一键搬家】运行时,会自动清空新空间的数据) -
5、【一键搬家】项目切换回
旧空间
,启动一键搬家
项目(请使用连接云端云函数)
注意:运行前先确认下,旧空间和新空间没有填错,否则运行时,新空间数据会清空(旧空间数据不会变)
-
6、启动【一键搬家】项目,访问首页,当看到页面控制台上打印
点击上方【开始一键搬家】按钮可进行一键搬家
时,点击此按钮即可。 -
7、点击【开始一键搬家】按钮
-
8、如不出意外,等待进度条到100%即可。如果出了意外(比如阿里云数据库不稳定导致连续20次数据库连接失败(目前会自动重试20次),则需要刷新页面并重新点击【开始一键搬家】按钮
-
9、完成后请将
uniCloud/cloudfunctions/vk-db-migration/vk.db.config.js
的runKey
设置为false,再分别上传到旧空间
和新空间
(这步很关键,防止后面误点导致数据被清空,也可以直接去web控制台删除云函数vk-db-migration
) -
10、完成。