20260228063031-clients.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. 'use strict';
  2. /** @type {import('sequelize-cli').Migration} */
  3. module.exports = {
  4. async up (queryInterface, Sequelize) {
  5. await queryInterface.createTable('clients', {
  6. client_id: {
  7. allowNull: false,
  8. autoIncrement: true,
  9. primaryKey: true,
  10. type: Sequelize.DataTypes.INTEGER
  11. },
  12. first_name: {
  13. type: Sequelize.DataTypes.STRING(50),
  14. allowNull: false,
  15. comment: 'Имя клиента'
  16. },
  17. last_name: {
  18. type: Sequelize.DataTypes.STRING(50),
  19. allowNull: false,
  20. comment: 'Фамилия клиента'
  21. },
  22. phone_number: {
  23. type: Sequelize.DataTypes.STRING(20),
  24. allowNull: false,
  25. unique: true,
  26. comment: 'Номер телефона'
  27. },
  28. email: {
  29. type: Sequelize.DataTypes.STRING(100),
  30. allowNull: true,
  31. comment: 'Электронная почта'
  32. },
  33. registration_date: {
  34. type: Sequelize.DataTypes.DATE,
  35. allowNull: true,
  36. defaultValue: Sequelize.literal('CURRENT_TIMESTAMP'),
  37. comment: 'Дата регистрации'
  38. },
  39. notes: {
  40. type: Sequelize.DataTypes.TEXT,
  41. allowNull: true,
  42. comment: 'Заметки'
  43. }
  44. })
  45. },
  46. async down (queryInterface, Sequelize) {
  47. await queryInterface.dropTable('clients')
  48. }
  49. }