OurBigBook logoOurBigBook Docs OurBigBook logoOurBigBook.comSite Source code
web/migrations/21000101000028-user-allow-null-dates.js
module.exports = {
  up: async (queryInterface, Sequelize) => queryInterface.sequelize.transaction(async transaction => {
    const DataTypes = Sequelize.DataTypes
    await queryInterface.changeColumn('Article', 'createdAt',
      { type: DataTypes.DATE, allowNull: true },
      { transaction },
    )
    await queryInterface.changeColumn('Article', 'updatedAt',
      { type: DataTypes.DATE, allowNull: true },
      { transaction },
    )
    await queryInterface.sequelize.query(`
UPDATE "Article"
SET "createdAt" = NULL
WHERE "createdAt" = '1970-01-01 01:00:00+01'
`,
      { transaction }
    )
    await queryInterface.sequelize.query(`
UPDATE "Article"
SET "updatedAt" = NULL
WHERE "updatedAt" = '1970-01-01 01:00:00+01'
`,
      { transaction }
    )
  }),
  down: async (queryInterface, Sequelize) => queryInterface.sequelize.transaction(async transaction => {
    const DataTypes = Sequelize.DataTypes
    await queryInterface.sequelize.query(`
UPDATE "Article"
SET "createdAt" = '1970-01-01 01:00:00+01'
WHERE "createdAt" IS NULL
`,
      { transaction }
    )
    await queryInterface.sequelize.query(`
UPDATE "Article"
SET "updatedAt" = '1970-01-01 01:00:00+01'
WHERE "updatedAt" IS NULL
`,
      { transaction }
    )
    await queryInterface.changeColumn('Article', 'createdAt',
      { type: DataTypes.DATE, allowNull: false },
      { transaction },
    )
    await queryInterface.changeColumn('Article', 'updatedAt',
      { type: DataTypes.DATE, allowNull: false },
      { transaction },
    )
  }),
};