Skip to content
This repository has been archived by the owner on May 19, 2023. It is now read-only.

Commit

Permalink
feat(rns): adds migration
Browse files Browse the repository at this point in the history
  • Loading branch information
jurajpiar committed Jan 8, 2021
1 parent 04ca55b commit 3663ba4
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions src/migrations/scripts/1609770161070-normalises_rns_expiration.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import { QueryInterface } from 'sequelize'
import { DataType, Sequelize } from 'sequelize-typescript'

export default {
// eslint-disable-next-line require-await
async up (
queryInterface: QueryInterface,
sequelize: Sequelize
): Promise<void> {
const transaction = await sequelize.transaction()
try {
await queryInterface.addColumn('rns_domain', 'expirationDate', {
type: DataType.DATE
}, { transaction })
await sequelize.query(`
UPDATE rns_domain
SET expirationDate = (
SELECT rns_domain_expiration.date
FROM rns_domain_expiration
WHERE rns_domain_expiration.tokenId = rns_domain.tokenId
)
WHERE EXISTS (
SELECT *
FROM rns_domain_expiration
WHERE rns_domain_expiration.tokenId = rns_domain.tokenId
)
`, { transaction })
await queryInterface.dropTable('rns_domain_expiration', { transaction })

await transaction.commit()
} catch (e) {
await transaction.rollback()
throw e
}
},

// eslint-disable-next-line require-await
async down (queryInterface: QueryInterface, sequelize: Sequelize): Promise<void> {
return Promise.reject(Error('Not implemented'))
}
}

0 comments on commit 3663ba4

Please sign in to comment.