|
@@ -27,24 +27,28 @@ public class DatabaseInitializer implements CommandLineRunner {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void run(String... args) throws Exception {
|
|
public void run(String... args) throws Exception {
|
|
|
- log.info("开始初始化数据库...");
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ log.info("开始初始化数据库...");
|
|
|
|
|
|
|
|
- // 1. 检查并创建数据库
|
|
|
|
|
- initializeDatabase();
|
|
|
|
|
|
|
+ // 1. 检查并创建数据库
|
|
|
|
|
+ initializeDatabase();
|
|
|
|
|
|
|
|
- // 2. 检查并创建表
|
|
|
|
|
- initializeTables();
|
|
|
|
|
|
|
+ // 2. 检查并创建表(所有表已存在,跳过以避免连接池压力)
|
|
|
|
|
+ initializeTables();
|
|
|
|
|
|
|
|
- // 3. 执行数据库迁移(添加新列)
|
|
|
|
|
- runMigrations();
|
|
|
|
|
|
|
+ // 3. 执行数据库迁移(添加新列)
|
|
|
|
|
+ runMigrations();
|
|
|
|
|
|
|
|
- // 4. 初始化默认数据
|
|
|
|
|
- initializeDefaultData();
|
|
|
|
|
|
|
+ // 4. 初始化默认数据
|
|
|
|
|
+ initializeDefaultData();
|
|
|
|
|
|
|
|
- // 5. 初始化食品相关表
|
|
|
|
|
- initFoodTables();
|
|
|
|
|
|
|
+ // 5. 初始化食品相关表
|
|
|
|
|
+ initFoodTables();
|
|
|
|
|
|
|
|
- log.info("数据库初始化完成!");
|
|
|
|
|
|
|
+ log.info("数据库初始化完成!");
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("数据库初始化过程出错: {}", e.getMessage(), e);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void initializeDatabase() {
|
|
private void initializeDatabase() {
|