1. 创建 Spring Boot 项目
可以使用 Spring Initializr 创建一个新的 Spring Boot 项目,选择以下依赖:
- Spring Web
- Spring Data JPA
- 数据库驱动(如 H2、MySQL、PostgreSQL 等)
- Flyway Migration
2. 添加 Flyway 依赖
如果你使用 Maven,可以在 pom.xml
中添加 Flyway 依赖:
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
如果你使用 Gradle,可以在 build.gradle
中添加:
groovy
implementation 'org.flywaydb:flyway-core'
3. 配置数据库连接
在 application.properties
或 application.yml
中配置数据库连接信息。例如,使用 MySQL 数据库的配置如下:
application.properties:
properties
spring.datasource.url=jdbc:mysql://localhost:3306/your_database
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# Flyway 配置
spring.flyway.enabled=true
spring.flyway.baseline-on-migrate=true
4. 创建迁移脚本
Flyway 通过 SQL 脚本来管理数据库迁移。默认情况下,迁移脚本应该放在 src/main/resources/db/migration
目录下。脚本文件命名规则为 V<版本号>__<描述>.sql
,例如:
V1__Create_user_table.sql
V2__Add_email_to_user_table.sql
示例脚本内容(V1__Create_user_table.sql
):
sql
CREATE TABLE user (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);
5. 启动应用程序
启动 Spring Boot 应用程序,Flyway 会自动检测到迁移脚本并执行。你可以在控制台中查看 Flyway 的日志,确认迁移是否成功。
6. 验证数据库状态
可以通过数据库客户端(如 MySQL Workbench、DBeaver 等)连接到数据库,检查 flyway_schema_history
表,确认迁移记录是否已成功插入。
7. 其他配置(可选)
你可以根据需要在 application.properties
中添加更多 Flyway 配置,例如:
properties
# 设置 Flyway 的模式
spring.flyway.schemas=public
# 设置 Flyway 的迁移路径
spring.flyway.locations=classpath:db/migration
# 启用 Flyway 的清理功能
spring.flyway.clean-on-validation-error=true