在 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/