Postgresql Knex在Postgres中创建点数据类型

Postgresql Knex在Postgres中创建点数据类型,postgresql,postgis,knex.js,Postgresql,Postgis,Knex.js,我试图创建一个带有点的模式数据类型&knex似乎没有在数据库中创建它。但是,它正在创建所有其他字段 以下是我的迁移文件的外观: exports.up = (knex, Promise) => { return Promise.all([ knex.schema.createTableIfNotExists('users', (table) => { table.uuid('id').primary() table.string('username'

我试图创建一个带有点的模式数据类型&knex似乎没有在数据库中创建它。但是,它正在创建所有其他字段

以下是我的迁移文件的外观:

exports.up = (knex, Promise) => {
  return Promise.all([
    knex.schema.createTableIfNotExists('users', (table) => {
      table.uuid('id').primary()
      table.string('username', 35)
      table.text('pword').notNullable()
      table.string('first_name', 55)
      table.string('last_name', 55)
      knex.schema.raw('coordinates POINT DEFAULT POINT (37.3875, -122.0575)')
      table.timestamp('date_created').defaultTo(knex.fn.now())
    })
  ])
}

exports.down = (knex, Promise) => {
  return Promise.all([
    knex.schema.dropTableIfExists('users')
  ])
}
下面是失败的代码行:

knex.schema.raw('coordinates POINT DEFAULT POINT (37.3875, -122.0575)')
我还尝试删除模式属性:

knex.raw('coordinates POINT DEFAULT POINT (37.3875, -122.0575)')
没有打印出错误,只是似乎在默默地失败

编辑1: 我用:
knex.schema.raw('coordinations POINT DEFAULT POINT(37.3875,-122.0575'))打印出来。然后(data=>console.log(data)).catch(error=>console.log(error))

{错误:坐标点默认点(37.3875,-122.0575)-“坐标”处或附近的语法错误
在Connection.parseE(/Users/james/plural/backend development/node_modules/pg/lib/Connection.js:554:11)
在Connection.parseMessage(/Users/james/plural/backend development/node_modules/pg/lib/Connection.js:381:17)
在套接字上。(/Users/james/mulple/backend development/node_modules/pg/lib/connection.js:117:22)
在emitOne(events.js:96:13)
在Socket.emit(events.js:188:7)
在readableAddChunk(_stream_readable.js:172:18)
在Socket.Readable.push(_stream_Readable.js:130:10)
在TCP.onread(net.js:542:20)
名称:“错误”,
长度:92,
严重性:“错误”,
代码:“42601”,
细节:未定义,
提示:未定义,
位置:“1”,
内部位置:未定义,
internalQuery:未定义,
其中:未定义,
模式:未定义,
表:未定义,
列:未定义,
数据类型:未定义,
约束:未定义,
文件:“scan.l”,
行:“1081”,
例程:“扫描器错误”}
试试这个:

table.specificType('coordinates','POINT').defaultTo(knex.raw('POINT(37.3875,-122.0575))

对于Knex未涵盖的SQL类型,始终可以使用以下格式:

table.specificType('column\u name','TYPE')

{ error: coordinates POINT DEFAULT POINT (37.3875, -122.0575) - syntax error at or near "coordinates"
    at Connection.parseE (/Users/james/plural/backend-development/node_modules/pg/lib/connection.js:554:11)
    at Connection.parseMessage (/Users/james/plural/backend-development/node_modules/pg/lib/connection.js:381:17)
    at Socket.<anonymous> (/Users/james/plural/backend-development/node_modules/pg/lib/connection.js:117:22)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:172:18)
    at Socket.Readable.push (_stream_readable.js:130:10)
    at TCP.onread (net.js:542:20)
  name: 'error',
  length: 92,
  severity: 'ERROR',
  code: '42601',
  detail: undefined,
  hint: undefined,
  position: '1',
  internalPosition: undefined,
  internalQuery: undefined,
  where: undefined,
  schema: undefined,
  table: undefined,
  column: undefined,
  dataType: undefined,
  constraint: undefined,
  file: 'scan.l',
  line: '1081',
  routine: 'scanner_yyerror' }