diff --git a/lab-20/lab-20-database-version-control-flyway/pom.xml b/lab-20/lab-20-database-version-control-flyway/pom.xml new file mode 100644 index 00000000..faaa9fa3 --- /dev/null +++ b/lab-20/lab-20-database-version-control-flyway/pom.xml @@ -0,0 +1,34 @@ + + + + org.springframework.boot + spring-boot-starter-parent + 2.1.3.RELEASE + + + 4.0.0 + + lab-20-database-version-control-flyway + + + + + org.springframework.boot + spring-boot-starter-jdbc + + + mysql + mysql-connector-java + 5.1.48 + + + + org.flywaydb + flyway-core + 5.2.4 + + + + diff --git a/lab-20/lab-20-database-version-control-flyway/src/main/java/cn/iocoder/springboot/lab20/databaseversioncontrol/Application.java b/lab-20/lab-20-database-version-control-flyway/src/main/java/cn/iocoder/springboot/lab20/databaseversioncontrol/Application.java new file mode 100644 index 00000000..ebb6f948 --- /dev/null +++ b/lab-20/lab-20-database-version-control-flyway/src/main/java/cn/iocoder/springboot/lab20/databaseversioncontrol/Application.java @@ -0,0 +1,14 @@ +package cn.iocoder.springboot.lab20.databaseversioncontrol; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + // 启动 Spring Boot 应用 + SpringApplication.run(Application.class, args); + } + +} diff --git a/lab-20/lab-20-database-version-control-flyway/src/main/resources/application.yaml b/lab-20/lab-20-database-version-control-flyway/src/main/resources/application.yaml new file mode 100644 index 00000000..c4041265 --- /dev/null +++ b/lab-20/lab-20-database-version-control-flyway/src/main/resources/application.yaml @@ -0,0 +1,15 @@ +spring: + # datasource 数据源配置内容,对应 DataSourceProperties 配置属性类 + datasource: + url: jdbc:mysql://127.0.0.1:3306/lab-19-flyway?useSSL=false&useUnicode=true&characterEncoding=UTF-8 + driver-class-name: com.mysql.jdbc.Driver + username: root # 数据库账号 + password: # 数据库密码 + + flyway: + enabled: true + baseline-on-migrate: true + locations: classpath:db/migration + url: jdbc:mysql://127.0.0.1:3306/lab-19-flyway?useSSL=false&useUnicode=true&characterEncoding=UTF-8 + username: root + password: diff --git a/lab-20/lab-20-database-version-control-flyway/src/main/resources/db/migration/V1.0__INIT_DB.sql b/lab-20/lab-20-database-version-control-flyway/src/main/resources/db/migration/V1.0__INIT_DB.sql new file mode 100644 index 00000000..02a9b8eb --- /dev/null +++ b/lab-20/lab-20-database-version-control-flyway/src/main/resources/db/migration/V1.0__INIT_DB.sql @@ -0,0 +1,8 @@ +CREATE TABLE `users` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户编号', + `username` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '账号', + `password` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '密码', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`), + UNIQUE KEY `idx_username` (`username`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; diff --git a/lab-20/pom.xml b/lab-20/pom.xml new file mode 100644 index 00000000..8403ca71 --- /dev/null +++ b/lab-20/pom.xml @@ -0,0 +1,20 @@ + + + + labs-parent + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + lab-20 + pom + + lab-20-database-version-control + lab-20-database-version-control-flyway + + + + diff --git a/pom.xml b/pom.xml index 25cc7df4..d415654f 100644 --- a/pom.xml +++ b/pom.xml @@ -28,6 +28,7 @@ lab-17 lab-18 lab-19 + lab-20