2016-03-26 3 views
0

У меня возникли проблемы с определением точности float в схеме knex, я хочу, чтобы он был поплавком (10,6), чтобы хранить lat/long location. Вот как им пытаются объявить:Как определить точность float в схеме knex?

lat: {type: 'float(10,6)', nullable: false}, 

Он проваливает мигрируют из-за (10,6), так как это правильный способ сделать это?

ответ

2

Я не знаю об этом подходе JSON, так как я использую только Schema Builder.

Похоже (пример geostuff стол с id, lat и lng столбцов):

var knex = require('knex')({client:'sqlite3',connection:{filename: 'sample.sqlite3'}}); 

knex.schema.createTable('geostuff', function(table) { 
    table.increments('id').primary(); 
    table.float('lat', 14, 10).notNullable(); 
    table.float('lng', 14, 10).notNullable(); 
}).then(function() { 
    console.dir('table created'); 
}).catch(function(err) { 
    console.log('table not created'); 
    console.dir(err); 
}); 

Обратите внимание на точность спецификаторы широко не поддерживается. PostgreSQL поддерживает float(precision), но SQLite3 (из примера) не делает (еще лучше: все равно). К счастью, knex.js скрывает эти особенности.

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