20211205164404-create-queue-options.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { QueryInterface, DataTypes } from "sequelize";
  2. module.exports = {
  3. up: (queryInterface: QueryInterface) => {
  4. return queryInterface.createTable("QueueOptions", {
  5. id: {
  6. type: DataTypes.INTEGER,
  7. autoIncrement: true,
  8. primaryKey: true,
  9. allowNull: false
  10. },
  11. title: {
  12. type: DataTypes.STRING,
  13. allowNull: false,
  14. },
  15. message: {
  16. type: DataTypes.TEXT,
  17. allowNull: true,
  18. },
  19. option: {
  20. type: DataTypes.TEXT,
  21. allowNull: true,
  22. },
  23. queueId: {
  24. type: DataTypes.INTEGER,
  25. references: { model: "Queues", key: "id" },
  26. onUpdate: "CASCADE",
  27. onDelete: "CASCADE"
  28. },
  29. parentId: {
  30. type: DataTypes.INTEGER,
  31. references: { model: "QueueOptions", key: "id" },
  32. onUpdate: "CASCADE",
  33. onDelete: "CASCADE",
  34. allowNull: true
  35. },
  36. createdAt: {
  37. type: DataTypes.DATE,
  38. allowNull: false
  39. },
  40. updatedAt: {
  41. type: DataTypes.DATE,
  42. allowNull: false
  43. }
  44. });
  45. },
  46. down: (queryInterface: QueryInterface) => {
  47. return queryInterface.dropTable("QueueOptions");
  48. }
  49. };