Added feeds db table. Using undici agent for proxy.
This commit is contained in:
100
migrations/20260403231603_feeds.js
Normal file
100
migrations/20260403231603_feeds.js
Normal file
@@ -0,0 +1,100 @@
|
||||
exports.up = async function(knex) {
|
||||
await knex.schema.createTable('feeds', (table) => {
|
||||
table.increments('id');
|
||||
|
||||
table.integer('user_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('users')
|
||||
.onDelete('cascade');
|
||||
|
||||
table.string('name')
|
||||
.notNullable();
|
||||
|
||||
table.string('slug')
|
||||
.notNullable();
|
||||
|
||||
table.boolean('public');
|
||||
table.boolean('primary');
|
||||
|
||||
table.text('comment');
|
||||
table.json('meta');
|
||||
|
||||
table.datetime('created_at')
|
||||
.notNullable()
|
||||
.defaultTo(knex.fn.now());
|
||||
});
|
||||
|
||||
await knex.schema.createTable('feeds_entities', (table) => {
|
||||
table.increments('id');
|
||||
|
||||
table.integer('feed_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('feeds')
|
||||
.onDelete('cascade');
|
||||
|
||||
table.integer('entity_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('entities')
|
||||
.onDelete('cascade');
|
||||
|
||||
table.text('comment');
|
||||
|
||||
table.datetime('created_at')
|
||||
.notNullable()
|
||||
.defaultTo(knex.fn.now());
|
||||
});
|
||||
|
||||
await knex.schema.createTable('feeds_actors', (table) => {
|
||||
table.increments('id');
|
||||
|
||||
table.integer('feed_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('feeds')
|
||||
.onDelete('cascade');
|
||||
|
||||
table.integer('actor_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('actors')
|
||||
.onDelete('cascade');
|
||||
|
||||
table.text('comment');
|
||||
|
||||
table.datetime('created_at')
|
||||
.notNullable()
|
||||
.defaultTo(knex.fn.now());
|
||||
});
|
||||
|
||||
await knex.schema.createTable('feeds_tags', (table) => {
|
||||
table.increments('id');
|
||||
|
||||
table.integer('feed_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('feeds')
|
||||
.onDelete('cascade');
|
||||
|
||||
table.integer('tag_id')
|
||||
.notNullable()
|
||||
.references('id')
|
||||
.inTable('tags')
|
||||
.onDelete('cascade');
|
||||
|
||||
table.text('comment');
|
||||
|
||||
table.datetime('created_at')
|
||||
.notNullable()
|
||||
.defaultTo(knex.fn.now());
|
||||
});
|
||||
};
|
||||
|
||||
exports.down = async function(knex) {
|
||||
await knex.schema.dropTable('feeds_tags');
|
||||
await knex.schema.dropTable('feeds_actors');
|
||||
await knex.schema.dropTable('feeds_entities');
|
||||
await knex.schema.dropTable('feeds');
|
||||
};
|
||||
Reference in New Issue
Block a user