Node.js 如何在knex.js中连接、创建数据库、重新连接该数据库并创建表?

Node.js 如何在knex.js中连接、创建数据库、重新连接该数据库并创建表?,node.js,promise,knex.js,Node.js,Promise,Knex.js,我正在使用knex.js。我有一个奇怪的计划。我不能确定我连接的MySQL数据库是否已经设置了我的数据库 因此,首先,我在不指定数据库的情况下进行连接。然后,我创建一个数据库并重新连接到该指定的数据库。之后,我想创建三个不同的表。但我一直收到一个错误:ER\u BAD\u DB\u错误:未知数据库“”。我有这个密码 knex.raw('CREATE DATABASE IF NOT EXISTS ' + database + ';' ).then(function() {

我正在使用knex.js。我有一个奇怪的计划。我不能确定我连接的MySQL数据库是否已经设置了我的数据库

因此,首先,我在不指定数据库的情况下进行连接。然后,我创建一个数据库并重新连接到该指定的数据库。之后,我想创建三个不同的表。但我一直收到一个
错误:ER\u BAD\u DB\u错误:未知数据库“”
。我有这个密码

    knex.raw('CREATE DATABASE IF NOT EXISTS ' + database + ';'
    ).then(function() {
        knex.destroy();
        knexConnect.connection.database = database;
        knex = require('knex')(knexConnect);
    }).then(function() {
        knex.schema.createTable('items', initializeItems
        ).catch(function (err) {
            console.log(err);
          });

        knex.schema.createTable('lessons', initializeLessons
        ).catch(function (err) {
            console.log(err);
          });

        knex.schema.createTable('reviews', initializeReview
        ).catch(function (err) {
            console.log(err);
        });
    });

为了在建立重新连接和创建数据库后执行表创建命令,我需要做哪些更改?

是否
需要('knex')(knexConnect)回报承诺?我不这么认为。它不允许我附加
。然后(…)
require('knex')(knexConnect)