"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.down = exports.up = void 0;
const tslib_1 = require("tslib");
const Sequelize = tslib_1.__importStar(require("sequelize"));
function up(utils) {
    return tslib_1.__awaiter(this, void 0, void 0, function* () {
        const { transaction } = utils;
        {
            const data = {
                type: Sequelize.STRING,
                defaultValue: null,
                allowNull: true
            };
            yield utils.queryInterface.addColumn('application', 'nodeVersion', data, { transaction });
        }
        {
            const data = {
                type: Sequelize.STRING,
                defaultValue: null,
                allowNull: true
            };
            yield utils.queryInterface.addColumn('application', 'nodeABIVersion', data, { transaction });
        }
        {
            const query = `UPDATE "application" SET "nodeVersion" = '${process.version}'`;
            yield utils.sequelize.query(query, { transaction });
        }
        {
            const nodeABIVersion = parseInt(process.versions.modules);
            const query = `UPDATE "application" SET "nodeABIVersion" = ${nodeABIVersion}`;
            yield utils.sequelize.query(query, { transaction });
        }
        {
            const data = {
                type: Sequelize.STRING,
                defaultValue: null,
                allowNull: false
            };
            yield utils.queryInterface.changeColumn('application', 'nodeVersion', data, { transaction });
        }
        {
            const data = {
                type: Sequelize.STRING,
                defaultValue: null,
                allowNull: false
            };
            yield utils.queryInterface.changeColumn('application', 'nodeABIVersion', data, { transaction });
        }
    });
}
exports.up = up;
function down(options) {
    throw new Error('Not implemented.');
}
exports.down = down;
//# sourceMappingURL=0725-node-version.js.map