使用MySQL
Bucky框架下,通过Drivers的方式,提供了对MySQL、MongoDB、Redis等的支持。本节介绍MySQL的配置与使用。
创建一个mysql测试目录:
mkdir mysql
cd mysql
使用bucky命令行初始化,创建mysql demo:

MySQL的配置
在一个Bucky的XARPackage里使用MySQL需要两个地方做配置:
- 根目录下
knownledges.json下配置MySQL数据库实例及其schema配置。 - 在XARPackage的config.json里配置对mysql的knowledges依赖。
这两个文件的位置如图:

MySQL数据库实例及其schema的配置
在knowlegeds.json的global.mysql.instances以及global.mysql.shemas两个节点下分别配置:

注意,global.mysql.schemas里面,object.onCreate也支持文件相对路径的方式把sql语句拆分出去:
{
...
"global.mysql.schemas": {
"type": 0,
"object": {
"user_exp_schema": {
"onCreate": "db/user_exp_oncreate.sql"
}
}
},
}
XARPackage里添加对MySQL Knowledge的依赖
在XARPackage的config.json里配置:

通过MySQL Driver操作数据库
参考packages/userexp/下的两个模块代码:
-
packages/userexp/userexp.js
-
packages/userexp/datablock.js
MySQL Driver的查询接口,请参考mysqljs库的官方文档:
MySQL数据库维护
如何修改表结构
需要说明的是global.mysql.schemas中配置的onCreate,只会在首次get mysql instance时执行,且只执行一次。所以要想修改表结构有下面两种做法。
- 直接修改instance id和onCreate。适用于开发阶段。
- 添加一个新的instance,修改onCreate,做数据迁移。适用于线上环境。
命令行工具
bucky工具还支持交互式mysql,类似mysql client。
- 在项目执行
bucky deploy和bucky k -reset之后: - 初始化mysql交互式环境,一个项目只需要初始化一次:bucky mysql -init
- 进入mysql交互式环境:bucky mysql
- 在交互式环境里有两个命令:
show instances显示有哪些mysql数据库use instanceid切换到某个具体的instanceid的数据库- 然后执行查询语句。
- 例子:
- 切换到test数据库:
use test; - 查询address表:
select * from address;
- 切换到test数据库:
使用phpmyadmin
phpmyadmin是知名度很高的图形化mysql client。支持mysql所有操作。
url:https://phpmyadmin.buckycloud.com/
使用方法:
- 输入buckycloud.com的用户名和密码,点击获取AppID
- 选择要操作的AppID,点击获取MySQL Instance
- 选择要操作的Instance,点击最后的按钮PHPMyAdmin
就会转到熟悉的phpmyadmin管理页面
–全文完–