20250914031648-add-missing-fields-to-articles.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. 'use strict';
  2. /** @type {import('sequelize-cli').Migration} */
  3. module.exports = {
  4. async up (queryInterface, Sequelize) {
  5. // 检查并添加缺失的字段到Articles表
  6. const tableDescription = await queryInterface.describeTable('Articles');
  7. if (!tableDescription.author) {
  8. await queryInterface.addColumn('Articles', 'author', {
  9. type: Sequelize.TEXT,
  10. allowNull: true,
  11. });
  12. }
  13. if (!tableDescription.category) {
  14. await queryInterface.addColumn('Articles', 'category', {
  15. type: Sequelize.INTEGER,
  16. allowNull: true,
  17. });
  18. }
  19. if (!tableDescription.crop) {
  20. await queryInterface.addColumn('Articles', 'crop', {
  21. type: Sequelize.INTEGER,
  22. allowNull: true,
  23. });
  24. }
  25. if (!tableDescription.seoKeyword) {
  26. await queryInterface.addColumn('Articles', 'seoKeyword', {
  27. type: Sequelize.TEXT,
  28. allowNull: true,
  29. });
  30. }
  31. if (!tableDescription.seoDescription) {
  32. await queryInterface.addColumn('Articles', 'seoDescription', {
  33. type: Sequelize.TEXT,
  34. allowNull: true,
  35. });
  36. }
  37. },
  38. async down (queryInterface, Sequelize) {
  39. // 删除添加的字段
  40. await queryInterface.removeColumn('Articles', 'author');
  41. await queryInterface.removeColumn('Articles', 'category');
  42. await queryInterface.removeColumn('Articles', 'crop');
  43. await queryInterface.removeColumn('Articles', 'seoKeyword');
  44. await queryInterface.removeColumn('Articles', 'seoDescription');
  45. }
  46. };