【问题标题】:Knex - How to create table (and change schema) without using migrationsKnex - 如何在不使用迁移的情况下创建表(和更改架构)
【发布时间】:2016-09-04 05:02:31
【问题描述】:

我正在尝试使用 knex 创建表/列...但不使用迁移。但是这段代码...

var miDb =require('knex')({client: 'pg', connection: myConexStr});
miDb.schema.createTable('xample', function(table) {
    table.increments();
    table.string('nombre');
});

只有在“迁移”中执行时才会按预期运行

当它在其他地方执行时(即在应用程序启动期间)它不会创建表...

永远无法到达table.increments() 行。

似乎“模式方法”只适用于迁移。

或者我忘记了要做的事情......

TIA

【问题讨论】:

    标签: knex.js


    【解决方案1】:

    正如 brian_miller 在 IRC 对我所说,我最好遵守承诺,看看是否有错误。 没有发生错误,但是当我从 promise 调用 .then/.catch 时,代码会按预期运行。

    即有效:

    var miDb =require('knex')({client: 'pg', connection: myConexStr});
    miDb.schema.createTable('xample', function(table) {
        table.increments();
        table.string('nombre');
    })
    .then(function(obj) {console.log(obj)})
    .catch(function(err) {console.log(err)});
    

    然后表就创建好了。

    【讨论】:

      猜你喜欢
      • 2014-10-28
      • 1970-01-01
      • 2020-04-18
      • 2019-08-18
      • 2019-07-24
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      相关资源
      最近更新 更多