container.js 928 Bytes
'use strict'
const { Model } = require('sequelize')

module.exports = (sequelize, DataTypes) => {
    class Container extends Model {
        static associate(models) {
            this.belongsTo(models.Image, {
                foreignKey: "imageId",
                onDelete: 'CASCADE'
            })
            this.hasMany(models.Port)
        }
    }
    Container.init({
        id: {
            type: DataTypes.INTEGER,
            primaryKey: true,
            autoIncrement: true
        },
        imageId: {
            allowNull: false,
            type: DataTypes.INTEGER
        },
        name: {
            allowNull: false,
            type: DataTypes.STRING(255)
        },
        command: {
            type: DataTypes.TEXT('long')
        },
        description: {
            type: DataTypes.TEXT('long')
        }
    }, {
        sequelize,
        modelName: 'Container'
    })
    return Container
}