synt_backend
Version:
Synt light-weight node backend service
78 lines (77 loc) • 1.84 kB
JavaScript
"use strict";
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.createTable("FinancialYears", {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER,
},
VMEId: {
type: Sequelize.INTEGER,
references: {
model: "VMEs",
key: "id",
},
allowNull: false,
defaultValue: Sequelize.UUIDV4,
onUpdate: "CASCADE",
onDelete: "CASCADE",
},
start_date: {
type: Sequelize.DATEONLY,
},
end_date: {
type: Sequelize.DATEONLY,
},
budget: {
type: Sequelize.INTEGER.UNSIGNED,
},
guarantee_fund: {
type: Sequelize.INTEGER.UNSIGNED,
},
reserve_capital: {
type: Sequelize.INTEGER.UNSIGNED,
},
months_per_invoice: {
type: Sequelize.INTEGER.UNSIGNED,
},
months_invoiced: {
type: Sequelize.INTEGER.UNSIGNED,
defaultValue: 0,
},
temp_months_invoiced: {
type: Sequelize.INTEGER.UNSIGNED,
defaultValue: 0,
},
is_budget_amount_confirmed: {
type: Sequelize.BOOLEAN,
},
is_budget_frequency_confirmed: {
type: Sequelize.BOOLEAN,
},
is_reserve_capital_confirmed: {
type: Sequelize.BOOLEAN,
},
is_guarantee_fund_confirmed: {
type: Sequelize.BOOLEAN,
},
is_settled: {
type: Sequelize.BOOLEAN,
defaultValue: 0,
},
createdAt: {
allowNull: false,
type: Sequelize.DATE,
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE,
},
});
},
down: async (queryInterface) => {
await queryInterface.dropTable("FinancialYears");
},
};