如何在knex模型中为列添加别名?

时间:2019-04-07 18:16:58

标签: alias knex.js

我在KoaJS中有一个项目,通过knex使用postgres。我想创建一个关联表,供者和接受者的贡献,这样,贡献具有has_many:donors和:receivers并具有column_id和receiver_id列。这两个字段都将引用相同组织模型的id列

这里是迁移,我认为可以这样迁移:

exports.up = (knex, Promise) => knex.schema.createTable('contributions', t => {
  t.uuid('id').primary();
  t.uuid('donor_id');
  t.uuid('receiver_id');
  t.boolean('status').notNullable().defaultTo(false);
  t.timestamp('created_at', true).notNullable().defaultTo(knex.fn.now());
  t.timestamp('updated_at', true).notNullable().defaultTo(knex.fn.now());
});

exports.down = (knex, Promise) => knex.schema.dropTable('contributions');

和模型:

const Model = require('./Model');

class Contributions extends Model {
  static get tableName () {
    return 'contributions';
  };

  static get jsonSchema () {
    return {
      type: 'object',
      required: ['title', 'content'],
      properties: {
        id: { type: 'uuid' },
        donor_id: { type: 'integer' },
        receiver_id: { type: 'integer' }
      }
    };
  }
}

module.exports = Contributions;

我的问题是我需要添加到模型中以创建别名关联s.t。施主的id和receiver_id的参考实例。

0 个答案:

没有答案