CNode

单元测试选用哪个数据库比较好

问答
Aa119347发布于7 年前最后回复7 年前9 回复4728 浏览0 收藏

我们生产环境使用postgresql,单元测试的时候使用的是sqlite3,ORM用的是sequelize,现在的一个问题是很多postgresql支持的语法到sqlite3上就不支持了,这个要怎么弄呢 比如数据类型为json的,需要使用$contains来进行查询,但是sqlite3不支持

查看回复

回复 (9)

W
waitingsong#1·7 年前

为啥不同样pg呢? 我不喜欢orm,准备用 sql builder 的knex

W
waitingsong#3·7 年前
引用 zuohuadong@waitingsong typeorm 很好用

@zuohuadong 我觉得和 nest 一样的复杂。。 还是先试试 knex 吧。

Z
zuohuadong#4·7 年前
引用 waitingsong@zuohuadong 我觉得和 nest 一样的复杂。。 还是先试试 knex 吧。

@waitingsong nest 用习惯了就觉得非常好用了~ 尤其是项目大一些的时候

W
waitingsong#5·7 年前
引用 zuohuadong@waitingsong nest 用习惯了就觉得非常好用了 尤其是项目大一些的时候

@zuohuadong 小公司,我一人要负责框架选型,制作各端的开发框架模板以及相关的轮子,k8s/istio 基础设施的部署,开发流程规范的制订。实在没精力去折腾两三天都还没搞懂的技术。思路是尽量可控,降低技术风险, 先把整个流跑起来再说,功能不足以后再增加或者换框架。 这也是为公司核心(单体)项目接下来的大升级做技术预(cai)演(keng)。

A
a119347#6·7 年前
引用 waitingsong为啥不同样pg呢? 我不喜欢orm,准备用 sql builder 的knex

@waitingsong 单元测试用了sqlite3的内存数据库,如果是pg的话,那是不是要单独准备一个数据库做测试才行,knex同样也是支持ORM的吧strapi就是knex

Z
zhennann#9·7 年前

全栈框架CabloyJS的单元测试机制供参考: CabloyJS后台基于EggJS,统一采用MySQL数据库 EggJS提供了三个运行环境:测试环境开发环境生产环境。CabloyJS在EggJS的基础上,对这三个运行环境赋予了进一步的意义: 1、测试环境:当运行npm run test:backend时,CabloyJS就会自动删除旧的测试数据库,建立新的数据库。从而便于总是从零状态开始单元测试 2、开发环境:当运行npm run dev:backend时,CabloyJS会自动寻找最新创建的测试数据库,然后一直使用它。当然,如果在开发过程中,发现数据库架构变了,可以再执行一遍npm run test:backend,就自动重建了全新的测试数据库,不必打开workbench之类的管理软件手工修改数据库架构 3、生产环境:当运行npm run start:backend时,CabloyJS就会使用全新的生产数据库,正式使用

参与回复
登录后即可参与回复。登录