更新记录
1.3.1(2023-06-01)
【优化】阿里云的endpoint默认配置成https://api.next.bspapp.com
1.3.0(2022-11-21)
更新价格为1元,更新支持迁移到阿里云正式版
查看更多平台兼容性
阿里云 | 腾讯云 |
---|---|
√ | √ |
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 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>名词定义
-
1、旧空间:就是你需要搬家的空间。
-
2、新空间:就是你需要把旧空间搬到这的空间。
注意事项
-
1、请确保
旧空间
和新空间
是可以正常访问的空间。 -
2、
新空间
数据库的数据在导入前会被全部清空
(需要注意空间别选错了,否则后果自负)。 -
3、
旧空间
数据库的数据不会被清空
(也不会被修改) -
4、请一定要在阿里云环境
相对稳定
的时间段进行搬家(如果当前阿里云出故障
了,不稳定
,则请等阿里云环境稳定了再进行搬家) -
5、腾讯云的空间会消耗数据库查询、写入次数,以及云函数流量。
-
6、目前大致耗时 = (你数据量总记录数 / 1000) 秒(即每秒搬1000条数据)(后面会继续优化这个速度)
-
7、如有问题,可以加Q群:
22466457
进行反馈(关于插件问题必定会得到处理)。
插件市场地址
操作步骤
- 1、打开【一键搬家】项目根目录
vk.db.config.js
配置文件,修改oldEnv
、newEnv
配置
- 2、生成
db_init.json
_如何生成 db_init.json
_
在 uniCloud控制台
导出 db_init.json
选择只导出首条记录,生成不包含ID(包含也没事)【一键搬家】运行时,会自动清空新空间的数据。(也可以直接从你旧项目中复制 db_init.json
,但需保证旧项目中的 db_init.json
包含了所有表和表索引)
注意:如果生成失败,那就一直试到成功为止,阿里云免费版很坑,有时候要试十几次才生成成功,坚持就是胜利
- 3、把生成的
db_init.json
复制到【一键搬家】项目根目录的uniCloud/database目录下
,然后在项目根目录执行node vk.create-db-config.js
- 4、【一键搬家】项目绑定
旧空间
,并上传云函数vk-db-migration
- 5、【一键搬家】项目切换到
新空间
,在新空间
也上传云函数vk-db-migration
如何切换空间?
右键 uniCloud
目录,点击关联空间,选择需要切换的空间。
如何切换阿里云和腾讯云空间
右键 uniCloud
目录,点击重命名,腾讯云为: uniCloud-tcb
,阿里云为 uniCloud-aliyun
,然后再右键 uniCloud
目录,点击关联空间,选择需要切换的空间。
特别注意:如果你购买的是普通授权版(非源码授权版),你可能需为两个空间各购买1次插件。
- 6、切换到
新空间
后,在新空间
初始化你自己数据库的db_init.json
(注意:如果初始化报错,不要急,再初始化一次,直到提示成功或提示没有任何表数据要上传时,则代表成功)
- 7、启动
一键搬家
项目(请使用连接云端云函数)
注意:运行前先确认下,旧空间和新空间没有填错,否则运行时,新空间数据会清空(旧空间数据不会变)
-
8、启动【一键搬家】项目,访问首页,当看到页面控制台上打印
点击上方【开始一键搬家】按钮可进行一键搬家
时,点击此按钮即可。 -
9、点击【开始一键搬家】按钮
-
10、如不出意外,等待进度条到100%即可。如果出了意外(比如阿里云数据库不稳定导致连续20次数据库连接失败(目前会自动重试20次),则需要刷新页面并重新点击【开始一键搬家】按钮
-
11、完成后请将
uniCloud/cloudfunctions/vk-db-migration/vk.db.config.js
的runKey
设置为false,再分别上传到旧空间
和新空间
(这步很关键,防止后面误点导致数据被清空,也可以直接去web控制台删除云函数vk-db-migration
) -
12、完成。
问题
如你已付费购买,缺还提示[vk-database-one-click-migration]:不能在当前云服务空间使用
如果使用数据库搬家项目的时候遇到 data undefined
同时提示 [vk-database-one-click-migration]:不能在当前云服务空间使用
则去项目根目录下的 package.json
文件内查看看是否有名为 sn
的属性,把Ta删除后再试试。