1725660137-create-sessions-table.ts 821 B

12345678910111213141516171819202122232425262728293031323334353637
  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. type: DataTypes.OBJECTID,
  9. allowNull: false,
  10. primaryKey: true
  11. },
  12. userId: {
  13. type: DataTypes.OBJECTID,
  14. allowNull: false
  15. },
  16. createdAt: DataTypes.DATE,
  17. updatedAt: DataTypes.DATE
  18. });
  19. await sequelize.getQueryInterface().addConstraint("sessions", {
  20. type: "foreign key",
  21. fields: ["userId"],
  22. references: {
  23. table: "users",
  24. field: "_id"
  25. },
  26. onDelete: "RESTRICT",
  27. onUpdate: "RESTRICT"
  28. });
  29. };
  30. export const down = async ({
  31. context: sequelize
  32. }: MigrationParams<Sequelize>) => {
  33. await sequelize.getQueryInterface().dropTable("sessions");
  34. };