const Sequelize = require('sequelize'); /** * 公司信息表模型 * 存储上市公司基本信息 */ module.exports = (db) => { const company_info = db.define("company_info", { // 序号 sequence_number: { comment: '序号', type: Sequelize.INTEGER, allowNull: true, defaultValue: 0 }, // 证券代码 stock_code: { comment: '证券代码(如:300890.SZ)', type: Sequelize.STRING(50), allowNull: true, defaultValue: '' }, // 公司中文名称 company_name: { comment: '公司中文名称', type: Sequelize.STRING(200), allowNull: false, defaultValue: '' }, // 注册地址 registered_address: { comment: '注册地址', type: Sequelize.STRING(500), allowNull: true, defaultValue: '' }, // 省份 province: { comment: '省份', type: Sequelize.STRING(50), allowNull: true, defaultValue: '' }, // 区域(区/县) city: { comment: '区域(区/县),如:宝山区、杨浦区', type: Sequelize.STRING(50), allowNull: true, defaultValue: '' }, // 公司电话 phone: { comment: '公司电话', type: Sequelize.STRING(100), allowNull: true, defaultValue: '' }, // 公司电子邮件地址 email: { comment: '公司电子邮件地址', type: Sequelize.STRING(200), allowNull: true, defaultValue: '' }, // 公司网站 website: { comment: '公司网站', type: Sequelize.STRING(200), allowNull: true, defaultValue: '' }, // 是否上市 is_listed: { comment: '是否上市(1=上市,0=未上市)', type: Sequelize.TINYINT(1), allowNull: false, defaultValue: 0 }, // 推荐等级 recommendation_level: { comment: '推荐等级(excellent=优秀,good=良好,normal=一般,not_recommended=不推荐)', type: Sequelize.STRING(20), allowNull: true, defaultValue: 'normal' }, // 状态 is_enabled: { comment: '是否启用(1=启用,0=禁用)', type: Sequelize.TINYINT(1), allowNull: false, defaultValue: 1 }, // 备注 remark: { comment: '备注', type: Sequelize.TEXT, allowNull: true, defaultValue: '' } }, { indexes: [ { unique: false, fields: ['stock_code'] }, { unique: false, fields: ['company_name'] }, { unique: false, fields: ['province'] }, { unique: false, fields: ['city'] }, { unique: false, fields: ['province', 'city'] }, { unique: false, fields: ['is_listed'] }, { unique: false, fields: ['recommendation_level'] }, { unique: false, fields: ['is_enabled'] } ] }); // company_info.sync({ force: true }); return company_info; };