feat: comment to test run's case (#390)
This commit is contained in:
47
backend/migrations/20260131000000-create-comments.js
Normal file
47
backend/migrations/20260131000000-create-comments.js
Normal file
@@ -0,0 +1,47 @@
|
||||
export async function up(queryInterface, Sequelize) {
|
||||
await queryInterface.createTable('comments', {
|
||||
id: {
|
||||
type: Sequelize.INTEGER,
|
||||
primaryKey: true,
|
||||
autoIncrement: true,
|
||||
},
|
||||
commentableType: {
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false,
|
||||
},
|
||||
commentableId: {
|
||||
type: Sequelize.INTEGER,
|
||||
allowNull: false,
|
||||
},
|
||||
userId: {
|
||||
type: Sequelize.INTEGER,
|
||||
references: {
|
||||
model: 'users',
|
||||
key: 'id',
|
||||
},
|
||||
onUpdate: 'CASCADE',
|
||||
onDelete: 'SET NULL',
|
||||
},
|
||||
content: {
|
||||
type: Sequelize.TEXT,
|
||||
allowNull: false,
|
||||
},
|
||||
createdAt: {
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false,
|
||||
},
|
||||
updatedAt: {
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false,
|
||||
},
|
||||
});
|
||||
|
||||
// Add composite index for efficient polymorphic queries
|
||||
await queryInterface.addIndex('comments', ['commentableType', 'commentableId'], {
|
||||
name: 'comments_commentable_index',
|
||||
});
|
||||
}
|
||||
|
||||
export async function down(queryInterface) {
|
||||
await queryInterface.dropTable('comments');
|
||||
}
|
||||
Reference in New Issue
Block a user