在 Gradle 中实现 MySQL 的数据迁移,可以使用 Flyway 或 Liquibase 这样的数据库迁移工具。这里以 Flyway 为例,介绍如何在 Gradle 项目中实现 MySQL 数据迁移。
- 首先,在
build.gradle
文件中添加 Flyway 插件和 MySQL 连接器依赖:
plugins { id 'org.flywaydb.flyway' version '7.15.0' } repositories { mavenCentral() } dependencies { implementation 'mysql:mysql-connector-java:8.0.26' }
- 在
build.gradle
文件中配置 Flyway 插件:
flyway { url = 'jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC' user = 'your_username' password = 'your_password' locations = ['classpath:db/migration'] }
请将 your_database_name
、your_username
和 your_password
替换为实际的 MySQL 数据库信息。
-
在项目的
src/main/resources
目录下创建一个名为db/migration
的文件夹。这个文件夹将用于存放 SQL 迁移脚本。 -
在
db/migration
文件夹中创建 SQL 迁移脚本。脚本文件名应遵循以下格式:V
。例如,__ .sql V1__Initial_schema.sql
。 -
在 SQL 迁移脚本中编写数据迁移语句。例如,创建一个名为
users
的表:
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
- 在命令行中运行以下命令执行数据迁移:
./gradlew flywayMigrate
这将应用所有未应用的迁移脚本到数据库。
- 若要回滚迁移,可以运行以下命令:
./gradlew flywayClean
注意:这将删除数据库中的所有数据,因此请谨慎操作。
通过以上步骤,你可以在 Gradle 项目中使用 Flyway 实现 MySQL 数据迁移。更多关于 Flyway 的信息,请参考官方文档:https://flywaydb.org/documentation/gradle/