UNPKG

synt_backend

Version:

Synt light-weight node backend service

85 lines (84 loc) 1.89 kB
"use strict"; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.createTable("Purchases", { id: { allowNull: false, autoIncrement: true, primaryKey: true, type: Sequelize.INTEGER, }, VMEId: { type: Sequelize.INTEGER, references: { model: "VMEs", key: "id", }, allowNull: true, defaultValue: Sequelize.UUIDV4, onUpdate: "CASCADE", onDelete: "CASCADE", }, SupplierId: { type: Sequelize.INTEGER, references: { model: "Suppliers", key: "id", }, allowNull: false, defaultValue: Sequelize.UUIDV4, onUpdate: "CASCADE", onDelete: "CASCADE", }, JournalId: { type: Sequelize.INTEGER, references: { model: "Journals", key: "id", }, allowNull: false, defaultValue: Sequelize.UUIDV4, onUpdate: "CASCADE", onDelete: "CASCADE", }, total_amount: { type: Sequelize.DECIMAL(8, 2), }, vat_amount: { type: Sequelize.DECIMAL(8, 2), }, description: { type: Sequelize.STRING, }, invoice_date: { type: Sequelize.DATE, }, due_date: { type: Sequelize.DATE, }, paid_at: { type: Sequelize.DATE, }, is_expense: { type: Sequelize.BOOLEAN, }, payment: { type: Sequelize.JSON, }, statement: { type: Sequelize.STRING, }, createdAt: { allowNull: false, type: Sequelize.DATE, }, updatedAt: { allowNull: false, type: Sequelize.DATE, }, }); }, down: async (queryInterface) => { await queryInterface.dropTable("Purchases"); }, };