运行环境
EggJS
提供了三个运行环境:测试环境
、开发环境
、生产环境
相应的,EggJS
提供四个Config
文件,其与运行环境的对应关系如下:
Config文件 | 运行环境 |
---|---|
config.default.js | 所有运行环境的缺省配置 |
config.unittest.js | 测试环境 |
config.local.js | 开发环境 |
config.prod.js | 生产环境 |
配置MySQL
EggBornJS
针对每个运行环境实现了不同的数据库访问策略
:
1、测试环境
:每次启动服务时,总是删除旧的测试数据库,然后创建一个新的测试数据库
2、开发环境
:每次启动服务时,总是查找可用的测试数据库,如果没有找到就创建一个新的
3、生产环境
:需要手工创建数据库,并在config.prod.js
中指定
通过这种数据库访问策略
,在开发阶段可以非常便利的调试数据。比如,开发阶段会经常的变更数据库设计,这时,只需要运行一遍单元测试就可以生效了。基本操作如下:
# 运行单元测试
$ npm run test:backend
# 启动本地开发服务
$ npm run dev:backend
因此,需要单独设置三个运行环境的数据库连接配置信息
测试环境
src/backend/config/config.unittest.js
// mysql
config.mysql = {
clients: {
// donnot change the name
__ebdb: {
host: '127.0.0.1',
port: '3306',
user: 'root',
password: '',
database: 'sys', // donnot change the name
},
},
};
名称 | 说明 |
---|---|
__ebdb | 这是系统内置的MySQL节点名,不允许变更 |
database | 指定为sys ,在启动服务时,会自动删除旧的测试数据库,然后创建一个新的测试数据库 |
开发环境
src/backend/config/config.local.js
// mysql
config.mysql = {
clients: {
// donnot change the name
__ebdb: {
host: '127.0.0.1',
port: '3306',
user: 'root',
password: '',
database: 'sys', // recommended
},
},
};
名称 | 说明 |
---|---|
database | 推荐指定为sys ,在启动服务时,查找可用的测试数据库,如果没有找到就创建一个新的测试数据库。如果指定为其他具体的数据库名,就直接使用此数据库 |
生产环境
src/backend/config/config.prod.js
// mysql
config.mysql = {
clients: {
// donnot change the name
__ebdb: {
host: '127.0.0.1',
port: '3306',
user: 'root',
password: '',
database: '{{name}}',
},
},
};
名称 | 说明 |
---|---|
database | 此数据库需要手工创建 |
覆盖模块Config
可以使用项目级别
的参数覆盖模块级别
的参数,从而方便我们从项目层面定制模块的行为参数
src/backend/config/config.default.js
// modules
config.modules = {
'test-party': {
message: 'Hello World!',
},
};
评论: