refactor(backend): 重构动物相关 API 接口
- 更新了动物数据结构和相关类型定义 - 优化了动物列表、详情、创建、更新和删除接口 - 新增了更新动物状态接口 - 移除了与认领记录相关的接口 -调整了 API 响应结构
This commit is contained in:
@@ -1,13 +1,5 @@
|
||||
const mysql = require('mysql2');
|
||||
|
||||
// 测试环境数据库配置(先不指定数据库)
|
||||
const testConfig = {
|
||||
host: '192.168.0.240',
|
||||
port: 3306,
|
||||
user: 'root',
|
||||
password: 'aiot$Aiot123'
|
||||
};
|
||||
|
||||
// 生产环境数据库配置(先不指定数据库)
|
||||
const prodConfig = {
|
||||
host: '129.211.213.226',
|
||||
@@ -49,74 +41,23 @@ function testConnection(config, environment) {
|
||||
connection.query('SELECT VERSION() as version', (err, versionRows) => {
|
||||
if (err) {
|
||||
console.error('❌ 获取版本失败:', err.message);
|
||||
connection.end();
|
||||
return resolve({ success: false, error: err.message });
|
||||
} else {
|
||||
console.log('📋 数据库版本:', versionRows[0].version);
|
||||
}
|
||||
|
||||
console.log('📋 MySQL版本:', versionRows[0].version);
|
||||
|
||||
// 检查所有数据库
|
||||
connection.query('SHOW DATABASES', (err, databases) => {
|
||||
// 列出所有数据库
|
||||
connection.query('SHOW DATABASES', (err, dbRows) => {
|
||||
if (err) {
|
||||
console.error('❌ 获取数据库列表失败:', err.message);
|
||||
connection.end();
|
||||
return resolve({ success: false, error: err.message });
|
||||
}
|
||||
|
||||
console.log('\n📋 所有数据库:');
|
||||
console.log('='.repeat(40));
|
||||
databases.forEach(db => {
|
||||
console.log(db.Database);
|
||||
});
|
||||
|
||||
// 检查jiebandata数据库是否存在
|
||||
const jiebandataExists = databases.some(db => db.Database === 'jiebandata');
|
||||
console.log(`\n📊 jiebandata数据库: ${jiebandataExists ? '✅ 存在' : '❌ 不存在'}`);
|
||||
|
||||
if (jiebandataExists) {
|
||||
// 获取jiebandata数据库中的表
|
||||
connection.query(`
|
||||
SELECT TABLE_NAME, TABLE_ROWS, CREATE_TIME, UPDATE_TIME
|
||||
FROM information_schema.tables
|
||||
WHERE table_schema = 'jiebandata'
|
||||
ORDER BY TABLE_NAME
|
||||
`, (err, tables) => {
|
||||
if (err) {
|
||||
console.error('❌ 获取表信息失败:', err.message);
|
||||
connection.end();
|
||||
return resolve({ success: false, error: err.message });
|
||||
}
|
||||
|
||||
console.log(`\n📋 jiebandata数据库中的表:`);
|
||||
console.log('='.repeat(80));
|
||||
console.log('表名'.padEnd(25) + '行数'.padEnd(10) + '创建时间'.padEnd(20) + '更新时间');
|
||||
console.log('='.repeat(80));
|
||||
|
||||
if (tables.length === 0) {
|
||||
console.log('暂无表');
|
||||
} else {
|
||||
tables.forEach(table => {
|
||||
console.log(
|
||||
table.TABLE_NAME.padEnd(25) +
|
||||
(table.TABLE_ROWS || '0').toString().padEnd(10) +
|
||||
(table.CREATE_TIME ? new Date(table.CREATE_TIME).toLocaleString() : 'N/A').padEnd(20) +
|
||||
(table.UPDATE_TIME ? new Date(table.UPDATE_TIME).toLocaleString() : 'N/A')
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// 关闭连接
|
||||
connection.end();
|
||||
console.log('\n✅ 连接已正常关闭');
|
||||
|
||||
resolve({ success: true, databaseExists: jiebandataExists, tables: tables.length });
|
||||
});
|
||||
} else {
|
||||
// 关闭连接
|
||||
connection.end();
|
||||
console.log('\n✅ 连接已正常关闭');
|
||||
resolve({ success: true, databaseExists: false, tables: 0 });
|
||||
console.log('📚 可用数据库:');
|
||||
dbRows.forEach(row => {
|
||||
console.log(` • ${row.Database}`);
|
||||
});
|
||||
}
|
||||
|
||||
connection.end();
|
||||
resolve({ success: true });
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -126,31 +67,20 @@ function testConnection(config, environment) {
|
||||
|
||||
async function main() {
|
||||
console.log('🚀 开始测试结伴客系统数据库连接');
|
||||
console.log('='.repeat(60));
|
||||
console.log('============================================================');
|
||||
|
||||
// 测试测试环境
|
||||
const testResult = await testConnection(testConfig, '测试环境');
|
||||
|
||||
console.log('\n' + '='.repeat(60));
|
||||
|
||||
// 测试生产环境
|
||||
// 测试生产环境数据库
|
||||
const prodResult = await testConnection(prodConfig, '生产环境');
|
||||
|
||||
console.log('\n' + '='.repeat(60));
|
||||
console.log('📋 测试结果汇总:');
|
||||
console.log('测试环境:', testResult.success ? '✅ 成功' : '❌ 失败');
|
||||
console.log('生产环境:', prodResult.success ? '✅ 成功' : '❌ 失败');
|
||||
console.log('\n============================================================');
|
||||
console.log('🏁 数据库连接测试完成');
|
||||
|
||||
if (testResult.success && testResult.tables > 0) {
|
||||
console.log(`测试环境表数量: ${testResult.tables}`);
|
||||
}
|
||||
if (prodResult.success && prodResult.tables > 0) {
|
||||
console.log(`生产环境表数量: ${prodResult.tables}`);
|
||||
if (prodResult.success) {
|
||||
console.log('🎉 所有测试通过!');
|
||||
} else {
|
||||
console.log('💥 部分测试失败');
|
||||
}
|
||||
}
|
||||
|
||||
// 运行测试
|
||||
main().catch(console.error);
|
||||
|
||||
// 导出测试函数供其他模块使用
|
||||
module.exports = { testConnection, testConfig, prodConfig };
|
||||
// 执行测试
|
||||
main().catch(console.error);
|
||||
Reference in New Issue
Block a user