Javascript 如何使knex将alasql用作自定义方言

Javascript 如何使knex将alasql用作自定义方言,javascript,node.js,knex.js,alasql,Javascript,Node.js,Knex.js,Alasql,我正在尝试配置knex,以便可以针对测试数据库运行seeder和迁移以进行集成测试。我选择了alasql,并发现一些资源表明这是可能的。我正在使用模块及其设置说明。因为我将此设置为种子设定,所以我在approot中的knexfile.js文件中进行配置。然而,我总是遇到这个错误 我相信这与knex如何将客户机密钥解析为可用方言有关。我的假设是,这在旧版本的knex上是可行的,但在我现在使用的0.15.2 对于我可以对其运行集成测试的变通方法或更好的内存中数据库的一些见解是可以接受的答案。中介绍

我正在尝试配置knex,以便可以针对测试数据库运行seeder和迁移以进行集成测试。我选择了alasql,并发现一些资源表明这是可能的。我正在使用模块及其设置说明。因为我将此设置为种子设定,所以我在approot中的
knexfile.js
文件中进行配置。然而,我总是遇到这个错误

我相信这与knex如何将客户机密钥解析为可用方言有关。我的假设是,这在旧版本的knex上是可行的,但在我现在使用的
0.15.2


对于我可以对其运行集成测试的变通方法或更好的内存中数据库的一些见解是可以接受的答案。

中介绍了如何创建自定义方言的一些帮助

如果您像这样配置knex,SQlite具有inmemory数据库支持

const knexSqlite = Knex({
  client: 'sqlite',
  connection: ':memory:'
});
然而,出于各种原因,我一般不建议使用不同的数据库进行测试和实际应用。这主要是因为您不知道您的代码是否会实际针对真实数据库工作,并且您需要限制只使用测试数据库和真实数据库引擎支持的那些数据库特性