UNPKG

@flowfuse/flowfuse

Version:

An open source low-code development platform

46 lines (40 loc) 1.44 kB
/* eslint-disable no-unused-vars */ /** * Add trialEndsAt column to Subscription */ const { DataTypes, QueryInterface } = require('sequelize') module.exports = { /** * upgrade database * @param {QueryInterface} context Sequelize.QueryInterface */ up: async (queryInterface) => { const tableExists = await queryInterface.tableExists('Subscriptions') if (!tableExists) { return queryInterface.sequelize.log('Skipping Subscription migration as table does not exist') } await queryInterface.addColumn('Subscriptions', 'trialEndsAt', { type: DataTypes.DATE, defaultValue: null, allowNull: true }) const TRIAL_STATUS = { NONE: 'none', CREATED: 'created', WEEK_EMAIL_SENT: 'week_email_sent', DAY_EMAIL_SENT: 'day_email_sent', ENDED: 'ended' } await queryInterface.addColumn('Subscriptions', 'trialStatus', { type: DataTypes.ENUM(Object.values(TRIAL_STATUS)), defaultValue: TRIAL_STATUS.NONE, allowNull: true }) if (queryInterface.sequelize.options.dialog === 'postgres') { // Postgres enums need to be explicitly updated queryInterface.sequelize.query("ALTER TYPE \"enum_Subscriptions_status\" ADD VALUE 'trial';") } }, down: async (context) => { } }