20260228063053-equipment.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. 'use strict';
  2. /** @type {import('sequelize-cli').Migration} */
  3. module.exports = {
  4. async up (queryInterface, Sequelize) {
  5. await queryInterface.createTable('equipment', {
  6. equipment_id: {
  7. allowNull: false,
  8. autoIncrement: true,
  9. primaryKey: true,
  10. type: Sequelize.DataTypes.INTEGER
  11. },
  12. item_name: {
  13. type: Sequelize.DataTypes.STRING(100),
  14. allowNull: false,
  15. comment: 'Название предмета'
  16. },
  17. category: {
  18. type: Sequelize.DataTypes.ENUM('camera', 'lens', 'light', 'background', 'other'),
  19. allowNull: false,
  20. comment: 'Категория оборудования'
  21. },
  22. serial_number: {
  23. type: Sequelize.DataTypes.STRING(50),
  24. allowNull: true,
  25. unique: true,
  26. comment: 'Серийный номер'
  27. },
  28. purchase_date: {
  29. type: Sequelize.DataTypes.DATEONLY,
  30. allowNull: true,
  31. comment: 'Дата покупки'
  32. },
  33. status: {
  34. type: Sequelize.DataTypes.ENUM('available', 'in_use', 'maintenance', 'broken'),
  35. allowNull: true,
  36. defaultValue: 'available',
  37. comment: 'Статус оборудования'
  38. }
  39. })
  40. },
  41. async down (queryInterface, Sequelize) {
  42. await queryInterface.dropTable('equipment')
  43. }
  44. }