在 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<version>__<description>.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/