
# SQL包
SQL包是指包含了通过WiseDBA执行的SQL脚本的zip包，分为DDL和DML两种类型。
#### 文件名
SQL包命名建议：\<service_name\>-\<instance_type\>-\<site_name\>-\<type\>-\<version\>.zip
#### 包结构
- 变更多个逻辑库，需要创建多个目录，存放对应逻辑库的sql文件。
- sql文件支持两种命名：upgrade.sql（增量脚本）和rollback.sql（回滚脚本）。
- GeminiDB(for Cassandra)类型数据库sql文件后缀是cql。
图1SQL包结构   
![](https://support.huaweicloud.com/devg-appstage/zh-cn_image_0000001857516865.png)
- DDL的package.json如下所示，主要是写ddl语句。
  ```
  {
     "name": "${service_name}-ddl-sqlchange-cn-cbu",//数据库包的包名，包括站点、业务、服务、实例类型、实例名和包名等信息
     "site_name": "cbu",                            //站点名，中国区为cbu，欧洲区为eu-cbu，亚非拉为aaa-cbu
     "business_name": "${business_name}",           //AppStage业务控制台中业务定义的产品英文名称，查看方式请参考产品管理
     "service_name": "${service_name}",             //AppStage业务控制台中业务定义的服务英文名称，查看方式请参考服务管理
     "instance_name": "${mysql_instance_cn_cbu}",   //WiseDBA中纳管的数据库实例名称
     "instance_type": "GaussDB4MySQL",              //数据库实例类型，支持GaussDB4MySQL/RDS4MySQL/GaussDB4Cassandra/GaussDB4OpenGauss，分别对应WiseDBA中的TaurusDB/RDS for MySQL/GeminiDB(for Cassandra)/GaussDB
     "type": "dbscript_ddl",                        //包类型，ddl语句固定为dbscript_ddl   
     "version": "${package_version}"                //数据库包的版本，即包坐标中的version字段，例如：1.0.1
  }
  ```
  
- DML的package.json如下所示，主要是写dml语句。
  ```
  {
     "name": "${service_name}-dml-sqlchange-cn-cbu",//数据库包的包名，包括站点、业务、服务、实例类型、实例名和包名等信息
     "site_name": "cbu",                            //站点名，中国区为cbu，欧洲区为eu-cbu，亚非拉为aaa-cbu
     "business_name": "${business_name}",           //AppStage业务控制台中业务定义的产品英文名称，查看方式请参考产品管理
     "service_name": "${service_name}",             //AppStage业务控制台中业务定义的服务英文名称，查看方式请参考服务管理
     "instance_name": "${mysql_instance_cn_cbu}",   //WiseDBA中纳管的数据库实例名称
     "instance_type": "GaussDB4MySQL",              //数据库实例类型，支持GaussDB4MySQL/RDS4MySQL/GaussDB4Cassandra/GaussDB4OpenGauss，分别对应WiseDBA中的TaurusDB/RDS for MySQL/GeminiDB(for Cassandra)/GaussDB
     "type": "dbscript_dml",                        //包类型，dml语句固定为dbscript_dml
     "version": "${package_version}"                //数据库包的版本，即包坐标中的version字段，例如：1.0.1
  }
  ```
  
 
