2016-05-09 3 views
0

Я пытаюсь создать таблицы/столбцы с помощью knex ... но без использования миграций. но этот код ...Knex - Как создать таблицу (и изменить схему) без использования миграции.

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

только работает, как ожидалось, когда он выполняется в «миграции»

Когда он выполнен в другом месте (например, при загрузке приложения) не создает таблицу ...

Линия table.increments() никогда не достигается.

Кажется, что «методы схемы» работают только при миграции.

Или, может быть, я забыл что-то делать ...

ТИА

ответ

0

Как brian_miller говорит мне в IRC, я бы лучше поймать обещание увидеть, если есть ошибка. Ошибка возникает, но когда я звоню .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)}); 

И таблица была создана.

Смежные вопросы