99 lines
3.4 KiB
JavaScript
99 lines
3.4 KiB
JavaScript
|
|
// 模型导入测试脚本
|
||
|
|
const sequelize = require('./config/database');
|
||
|
|
const { DataTypes } = require('sequelize');
|
||
|
|
|
||
|
|
async function modelImportTest() {
|
||
|
|
try {
|
||
|
|
console.log('开始模型导入测试...');
|
||
|
|
|
||
|
|
// 测试数据库连接
|
||
|
|
await sequelize.authenticate();
|
||
|
|
console.log('✅ 数据库连接成功');
|
||
|
|
|
||
|
|
// 测试直接导入模型
|
||
|
|
console.log('\n测试直接导入模型:');
|
||
|
|
|
||
|
|
// 先测试 Department 模型
|
||
|
|
console.log('\n测试 Department 模型导入:');
|
||
|
|
try {
|
||
|
|
const Department = require('./models/Department');
|
||
|
|
console.log('Department 模型导入:', Department ? '✅ 成功' : '❌ 失败');
|
||
|
|
|
||
|
|
// 测试 Department 模型的结构
|
||
|
|
if (Department) {
|
||
|
|
console.log('Department 模型是否有 define 方法:', typeof Department.define === 'function' ? '✅ 是' : '❌ 否');
|
||
|
|
console.log('Department 模型的 tableName:', Department.tableName || Department.options?.tableName || '未定义');
|
||
|
|
}
|
||
|
|
} catch (error) {
|
||
|
|
console.error('Department 模型导入失败:', error.message);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 测试 Position 模型
|
||
|
|
console.log('\n测试 Position 模型导入:');
|
||
|
|
try {
|
||
|
|
const Position = require('./models/Position');
|
||
|
|
console.log('Position 模型导入:', Position ? '✅ 成功' : '❌ 失败');
|
||
|
|
|
||
|
|
// 测试 Position 模型的结构
|
||
|
|
if (Position) {
|
||
|
|
console.log('Position 模型是否有 define 方法:', typeof Position.define === 'function' ? '✅ 是' : '❌ 否');
|
||
|
|
console.log('Position 模型的 tableName:', Position.tableName || Position.options?.tableName || '未定义');
|
||
|
|
}
|
||
|
|
} catch (error) {
|
||
|
|
console.error('Position 模型导入失败:', error.message);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 测试 AdminStaff 模型
|
||
|
|
console.log('\n测试 AdminStaff 模型导入:');
|
||
|
|
try {
|
||
|
|
// 先导入依赖模型
|
||
|
|
require('./models/Department');
|
||
|
|
require('./models/Position');
|
||
|
|
|
||
|
|
const AdminStaff = require('./models/AdminStaff');
|
||
|
|
console.log('AdminStaff 模型导入:', AdminStaff ? '✅ 成功' : '❌ 失败');
|
||
|
|
|
||
|
|
// 测试 AdminStaff 模型的结构
|
||
|
|
if (AdminStaff) {
|
||
|
|
console.log('AdminStaff 模型是否有 define 方法:', typeof AdminStaff.define === 'function' ? '✅ 是' : '❌ 否');
|
||
|
|
console.log('AdminStaff 模型的 tableName:', AdminStaff.tableName || AdminStaff.options?.tableName || '未定义');
|
||
|
|
}
|
||
|
|
} catch (error) {
|
||
|
|
console.error('AdminStaff 模型导入失败:', error.message);
|
||
|
|
console.error('错误详情:', error);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 测试创建一个简单的新模型
|
||
|
|
console.log('\n测试创建新模型:');
|
||
|
|
try {
|
||
|
|
const TestModel = sequelize.define('TestModel', {
|
||
|
|
id: {
|
||
|
|
type: DataTypes.INTEGER,
|
||
|
|
primaryKey: true,
|
||
|
|
autoIncrement: true
|
||
|
|
},
|
||
|
|
name: {
|
||
|
|
type: DataTypes.STRING,
|
||
|
|
allowNull: false
|
||
|
|
}
|
||
|
|
}, {
|
||
|
|
tableName: 'test_models',
|
||
|
|
timestamps: false,
|
||
|
|
paranoid: false
|
||
|
|
});
|
||
|
|
|
||
|
|
console.log('新模型创建:', TestModel ? '✅ 成功' : '❌ 失败');
|
||
|
|
} catch (error) {
|
||
|
|
console.error('新模型创建失败:', error.message);
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log('\n✅ 模型导入测试完成');
|
||
|
|
} catch (error) {
|
||
|
|
console.error('❌ 模型导入测试失败:', error.message);
|
||
|
|
console.error('错误详情:', error);
|
||
|
|
} finally {
|
||
|
|
await sequelize.close();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
modelImportTest();
|