/* eslint-disable*/

'use strict';

module.exports = dc => {
    const DataTypes = dc.ORM;
    const sequelize = dc.orm;
    const AcquisitionTask = sequelize.define("acquisitionTask", {
        id: {
            type: DataTypes.INTEGER,
            allowNull: false,
            defaultValue: null,
            comment: "ID唯一标识",
            primaryKey: true,
            field: "id",
            autoIncrement: true,
            unique: "t_acquisition_task_id_uindex"
        },
        taskName: {
            type: DataTypes.STRING,
            allowNull: false,
            defaultValue: null,
            comment: "任务名称",
            primaryKey: false,
            field: "task_name",
            autoIncrement: false
        },
        dataSourceId: {
            type: DataTypes.INTEGER,
            allowNull: false,
            defaultValue: null,
            comment: "数据源",
            primaryKey: false,
            field: "data_source",
            autoIncrement: false,
            references: {
                key: "id",
                model: "tDataSource"
            }
        },
        storageStrategy: {
            type: DataTypes.STRING,
            allowNull: false,
            defaultValue: null,
            comment: "入库策略",
            primaryKey: false,
            field: "storage_strategy",
            autoIncrement: false
        },
        autoReleased: {
            type: DataTypes.BOOLEAN,
            allowNull: false,
            defaultValue: null,
            comment: "是否自动发布",
            primaryKey: false,
            field: "auto_released",
            autoIncrement: false
        },
        description: {
            type: DataTypes.STRING,
            allowNull: true,
            defaultValue: null,
            comment: "描述",
            primaryKey: false,
            field: "description",
            autoIncrement: false
        },
        enabled: {
            type: DataTypes.BOOLEAN,
            allowNull: false,
            defaultValue: null,
            comment: "是否已启用",
            primaryKey: false,
            field: "enabled",
            autoIncrement: false
        },
        cron: {
            type: DataTypes.STRING,
            allowNull: false,
            defaultValue: null,
            comment: "cron表达式",
            primaryKey: false,
            field: "cron",
            autoIncrement: false
        },
        retried: {
            type: DataTypes.BOOLEAN,
            allowNull: false,
            defaultValue: null,
            comment: "是否重试",
            primaryKey: false,
            field: "retried",
            autoIncrement: false
        },
        retryCount: {
            type: DataTypes.INTEGER,
            allowNull: true,
            defaultValue: null,
            comment: "重试次数",
            primaryKey: false,
            field: "retry_count",
            autoIncrement: false
        },
        retryTime: {
            type: DataTypes.INTEGER,
            allowNull: true,
            defaultValue: null,
            comment: "重试间隔时间,单位:分钟",
            primaryKey: false,
            field: "retry_time",
            autoIncrement: false
        }
    }, {
        tableName: "t_acquisition_task",
        comment: "",
        indexes: []
    });
    dc.models.AcquisitionTask = AcquisitionTask;
    return AcquisitionTask;
};