1725660137-create-sessions-table.ts 917 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { Sequelize, DataTypes } from "sequelize";
  2. import { MigrationParams } from "umzug";
  3. export const up = async ({
  4. context: sequelize
  5. }: MigrationParams<Sequelize>) => {
  6. await sequelize.getQueryInterface().createTable("sessions", {
  7. _id: {
  8. // eslint-disable-next-line
  9. // @ts-ignore
  10. type: DataTypes.OBJECTID,
  11. allowNull: false,
  12. primaryKey: true
  13. },
  14. userId: {
  15. // eslint-disable-next-line
  16. // @ts-ignore
  17. type: DataTypes.OBJECTID,
  18. allowNull: false
  19. },
  20. createdAt: DataTypes.DATE,
  21. updatedAt: DataTypes.DATE
  22. });
  23. await sequelize.getQueryInterface().addConstraint("sessions", {
  24. type: "foreign key",
  25. fields: ["userId"],
  26. references: {
  27. table: "users",
  28. field: "_id"
  29. },
  30. onDelete: "RESTRICT",
  31. onUpdate: "RESTRICT"
  32. });
  33. };
  34. export const down = async ({
  35. context: sequelize
  36. }: MigrationParams<Sequelize>) => {
  37. await sequelize.getQueryInterface().dropTable("sessions");
  38. };