在knex中迁移表:存储媒体,图像或blob

时间:2017-08-04 04:08:49

标签: node.js postgresql express knex.js

我正在尝试将关系迁移到我的postgres数据库。问题是我不知道用于图像的值类型。

exports.up = function (knex, Promise) => {
  return knex.schema.createTable('observations', (table) => {
    table.increments();
    table.integer('user_id').notNullable();
    table.blob('image').notNullable(); //???
    table.string('category').notNullable();
    table.string('description').notNullable();
    table.boolean('approved').notNullable().defaultTo(false);
    table.float('latitude').notNullable();
    table.float('longitude').notNullable();
    table.timestamp('created_at').defaultTo(knex.fn.now());
  });
};

我认为会有'blob'文件类型,但在documentation中似乎没有迁移任何媒体的迹象。

请帮帮我。

2 个答案:

答案 0 :(得分:4)

看起来table.binary应符合条款。

PostgreSQL数据类型应为bytea

答案 1 :(得分:0)

binary — table.binary(名称,[长度]) 添加一个二进制列,MySQL带有可选的length参数。