Skip to content

数据库策略

为了进一步优化日常的开发体验,提升开发效率,Vona 针对不同的运行环境采用不同的数据库策略:

测试环境

测试环境不必指定数据库名称(保留系统默认值),而是由系统自动创建测试数据库。每当执行单元测试时,系统总是删除旧的测试数据库,然后创建一个新的测试数据库

  • 重建数据库 + 单元测试
bash
$ npm run test
$ npm run cov
  • 仅重建数据库
bash
$ npm run db:reset

比如,项目的名称是VonaDev,当执行单元测试时,系统会自动创建一个测试数据库,数据库名称为vona-test-VonaDev-20250815-161320

  • 这样设计的好处:在项目的开发迭代当中,难免会频繁的修改数据库架构。那么一般的做法是,打开数据库管理工具进行手工修改。在 Vona 中,只需要在meta.version中编写变更逻辑,然后执行一遍单元测试就生效了。换句话说,在 Vona 开发当中,很少用到数据库管理工具

  • 有人会问一个问题:如果执行单元测试会重新创建一个新的数据库,那么之前的测试数据是不是又需要重新手工输入一遍?

    • 针对这个问题,Vona 也提出了相应的解决方案:就是在meta.versiontest方法中直接编写测试数据的初始化逻辑。每当创建新的测试数据库时,这些测试数据都会自动生成

开发环境

开发环境也不必指定数据库名称(保留系统默认值)。每当启动后端开发服务时,总是查找可用的测试数据库,如果没有找到(比如,没有执行过单元测试)就自动创建一个新的测试数据库

bash
$ npm run dev
$ npm run dev:one
$ npm run demo
  • 开发环境也可以人为指定具体的数据库名称,那么系统就会忽略默认行为

生产环境

生产环境需要手工创建数据库,并在数据源配置中指定该数据库名称

bash
$ npm run start
$ npm run start:one

基于 MIT 许可发布