You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Knex向测试数据库执行迁移与种子数据填充

Knex切换测试数据库执行迁移/种子操作指南

Knex CLI 默认读取 knexfile.js 中 development 节点的配置,你已经在配置文件里写好了 test 环境的连接信息,不需要修改配置结构,通过以下两种方式指定环境即可:

  • 临时单次执行:在CLI命令后追加--env参数,指定要读取的配置节点名
    执行测试库迁移命令:
    npx knex migrate:latest --env test
    
    执行测试库种子填充命令:
    npx knex seed:run --env test
    
    执行后终端输出Using environment: test即代表配置生效,会自动连接bibliontest库执行操作。
  • 固定脚本配置:在项目package.json的scripts字段中添加测试环境专用命令,避免每次手动追加参数:
    {
      "scripts": {
        "migrate:dev": "knex migrate:latest",
        "seed:dev": "knex seed:run",
        "migrate:test": "knex migrate:latest --env test",
        "seed:test": "knex seed:run --env test"
      }
    }
    
    后续直接执行npm run migrate:test、npm run seed:test即可操作测试数据库。

补充说明

  • 你当前test节点下的PostgreSQL连接配置如果是连本地默认端口(5432)的Postgres实例,现有参数足够,客户端会自动根据配置的库名、用户名、密码连接对应库,不需要额外补充参数;如果是连远程实例/非默认端口,在connection字段下补充host、port配置即可。
  • 如果是在自动化测试代码中初始化Knex连接,手动传入test节点配置即可,不要依赖默认环境读取逻辑:
    const knex = require('knex');
    const knexConfig = require('./knexfile');
    // 初始化测试库连接实例
    const db = knex(knexConfig.test);
    

内容的提问来源于stack exchange,提问作者deadant88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 04:31:13