使用MySQL

Bucky框架下,通过Drivers的方式,提供了对MySQL、MongoDB、Redis等的支持。本节介绍MySQL的配置与使用。

创建一个mysql测试目录:

 mkdir mysql
 cd mysql

使用bucky命令行初始化,创建mysql demo:

MySQL的配置

在一个Bucky的XARPackage里使用MySQL需要两个地方做配置:

  1. 根目录下knownledges.json下配置MySQL数据库实例及其schema配置。
  2. 在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/下的两个模块代码:

  1. packages/userexp/userexp.js

  2. packages/userexp/datablock.js

MySQL Driver的查询接口,请参考mysqljs库的官方文档:

MySQL数据库维护

如何修改表结构

需要说明的是global.mysql.schemas中配置的onCreate,只会在首次get mysql instance时执行,且只执行一次。所以要想修改表结构有下面两种做法。

  1. 直接修改instance id和onCreate。适用于开发阶段。
  2. 添加一个新的instance,修改onCreate,做数据迁移。适用于线上环境。

命令行工具

bucky工具还支持交互式mysql,类似mysql client。

  1. 在项目执行bucky buildbucky k -reset之后:
  2. 初始化mysql交互式环境,一个项目只需要初始化一次:bucky mysql -init
  3. 进入mysql交互式环境:bucky mysql
  4. 在交互式环境里有两个命令:
    • show instances 显示有哪些mysql数据库
    • use instanceid 切换到某个具体的instanceid的数据库
    • 然后执行查询语句。
  5. 例子:
    • 切换到test数据库:use test;
    • 查询address表:select * from address;

使用phpmyadmin

phpmyadmin是知名度很高的图形化mysql client。支持mysql所有操作。

url:https://phpmyadmin.buckycloud.com/

使用方法:

  1. 输入buckycloud.com的用户名和密码,点击获取AppID
  2. 选择要操作的AppID,点击获取MySQL Instance
  3. 选择要操作的Instance,点击最后的按钮PHPMyAdmin

就会转到熟悉的phpmyadmin管理页面

--全文完--

results matching ""

    No results matching ""