У меня есть проект в KoaJS, использующий postgres через knex.Я хочу создать ассоциативную таблицу «Вклады для доноров и получателей», такую, чтобы «Вклады» has_many: doners и: получатели и имел столбцы donor_id и receive_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;
Мой вопрос заключается в том, что мне нужно добавить в модель, чтобы создать псевдонимы-ссылки st экземпляры donor_ids и receive_ids модели User.