diff --git a/pom.xml b/pom.xml index 88d5dec..9ea4a84 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ springboot-ademo - springboot-db-migration + springboot-database springboot-login springboot-web springboot-util @@ -56,7 +56,7 @@ com.tiesheng.springboot-parent - springboot-db-migration + springboot-database 0.5.0 diff --git a/springboot-db-migration/pom.xml b/springboot-database/pom.xml similarity index 95% rename from springboot-db-migration/pom.xml rename to springboot-database/pom.xml index ee3d9bf..17f89dc 100644 --- a/springboot-db-migration/pom.xml +++ b/springboot-database/pom.xml @@ -9,7 +9,7 @@ 0.5.0 - springboot-db-migration + springboot-database 8 diff --git a/springboot-database/src/main/java/com/tiesheng/database/DatabaseAutoConfigurer.java b/springboot-database/src/main/java/com/tiesheng/database/DatabaseAutoConfigurer.java new file mode 100644 index 0000000..04c50d6 --- /dev/null +++ b/springboot-database/src/main/java/com/tiesheng/database/DatabaseAutoConfigurer.java @@ -0,0 +1,12 @@ +package com.tiesheng.database; + +import org.springframework.context.annotation.ComponentScan; + +/** + * @author hao + */ +@ComponentScan({ + "com.tiesheng.database.**.*" +}) +public class DatabaseAutoConfigurer { +} diff --git a/springboot-database/src/main/java/com/tiesheng/database/config/DbBackupConfig.java b/springboot-database/src/main/java/com/tiesheng/database/config/DbBackupConfig.java new file mode 100644 index 0000000..e7f9e30 --- /dev/null +++ b/springboot-database/src/main/java/com/tiesheng/database/config/DbBackupConfig.java @@ -0,0 +1,65 @@ +package com.tiesheng.database.config; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.RuntimeUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.spring.SpringUtil; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import javax.annotation.PostConstruct; +import java.util.Date; + +/** + * @author hao + */ +@Configuration +@ConfigurationProperties(prefix = "tiesheng.db-backup") +public class DbBackupConfig { + + /** + * 数据库备份的路径 + */ + private String path = "/root/backup/"; + + /** + * 备份文件的时间格式 + */ + private String format = "yyyyMMdd"; + + + @PostConstruct + public void dbBackup() { + String url = SpringUtil.getProperty("spring.datasource.url"); + String username = SpringUtil.getProperty("spring.datasource.username"); + String password = SpringUtil.getProperty("spring.datasource.password"); + + try { + RuntimeUtil.exec(StrUtil.format("mysqldump -u{} -p{} {} > {}{}.sql", username, password, username, + getPath(), DateUtil.format(new Date(), format) + )); + } catch (Exception ignored) { + } + + } + + /////////////////////////////////////////////////////////////////////////// + // setter\getter + /////////////////////////////////////////////////////////////////////////// + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + public String getFormat() { + return format; + } + + public void setFormat(String format) { + this.format = format; + } +} diff --git a/springboot-db-migration/src/main/java/com/tiesheng/migration/config/DbMigrationConfig.java b/springboot-database/src/main/java/com/tiesheng/database/config/DbMigrationConfig.java similarity index 98% rename from springboot-db-migration/src/main/java/com/tiesheng/migration/config/DbMigrationConfig.java rename to springboot-database/src/main/java/com/tiesheng/database/config/DbMigrationConfig.java index 5dcb187..7e176c9 100644 --- a/springboot-db-migration/src/main/java/com/tiesheng/migration/config/DbMigrationConfig.java +++ b/springboot-database/src/main/java/com/tiesheng/database/config/DbMigrationConfig.java @@ -1,4 +1,4 @@ -package com.tiesheng.migration.config; +package com.tiesheng.database.config; import cn.hutool.core.collection.CollUtil; diff --git a/springboot-db-migration/src/main/java/com/tiesheng/migration/service/DbMigrationInitializer.java b/springboot-database/src/main/java/com/tiesheng/database/service/DbMigrationInitializer.java similarity index 97% rename from springboot-db-migration/src/main/java/com/tiesheng/migration/service/DbMigrationInitializer.java rename to springboot-database/src/main/java/com/tiesheng/database/service/DbMigrationInitializer.java index ac33d23..ab97a02 100644 --- a/springboot-db-migration/src/main/java/com/tiesheng/migration/service/DbMigrationInitializer.java +++ b/springboot-database/src/main/java/com/tiesheng/database/service/DbMigrationInitializer.java @@ -1,4 +1,4 @@ -package com.tiesheng.migration.service; +package com.tiesheng.database.service; import cn.hutool.core.date.DateUtil; @@ -9,7 +9,7 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.db.Db; import cn.hutool.db.Entity; -import com.tiesheng.migration.config.DbMigrationConfig; +import com.tiesheng.database.config.DbMigrationConfig; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.web.servlet.ServletContextInitializer; import org.springframework.core.io.Resource; diff --git a/springboot-db-migration/src/main/java/com/tiesheng/migration/MigrationAutoConfigurer.java b/springboot-db-migration/src/main/java/com/tiesheng/migration/MigrationAutoConfigurer.java deleted file mode 100644 index be89fa3..0000000 --- a/springboot-db-migration/src/main/java/com/tiesheng/migration/MigrationAutoConfigurer.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.tiesheng.migration; - -import org.springframework.context.annotation.ComponentScan; - -/** - * @author hao - */ -@ComponentScan({ - "com.tiesheng.migration.**.*" -}) -public class MigrationAutoConfigurer { -} diff --git a/springboot-web/pom.xml b/springboot-web/pom.xml index 7bd51e9..941cbea 100644 --- a/springboot-web/pom.xml +++ b/springboot-web/pom.xml @@ -64,7 +64,7 @@ com.tiesheng.springboot-parent - springboot-db-migration + springboot-database diff --git a/springboot-web/src/main/java/com/tiesheng/core/EnableTieshengWeb.java b/springboot-web/src/main/java/com/tiesheng/core/EnableTieshengWeb.java index e804e8c..dc043ab 100644 --- a/springboot-web/src/main/java/com/tiesheng/core/EnableTieshengWeb.java +++ b/springboot-web/src/main/java/com/tiesheng/core/EnableTieshengWeb.java @@ -1,9 +1,9 @@ package com.tiesheng.core; import com.tiesheng.core.service.TieshengWebConfigurer; +import com.tiesheng.database.DatabaseAutoConfigurer; import com.tiesheng.login.LoginAutoConfigurer; import com.tiesheng.message.MessageAutoConfigurer; -import com.tiesheng.migration.MigrationAutoConfigurer; import com.tiesheng.util.UtilAutoConfigurer; import org.springframework.context.annotation.Import; @@ -20,7 +20,7 @@ import java.lang.annotation.*; MessageAutoConfigurer.class, CoreAutoConfigurer.class, LoginAutoConfigurer.class, - MigrationAutoConfigurer.class + DatabaseAutoConfigurer.class }) public @interface EnableTieshengWeb {