MariaDB
Published 16 November 2022
MariaDB
- Verified Versions: 5.1, 10.11
- Maintainer: Redgate
Supported Versions and Support Levels
- For information regarding the supported version and support levels available, please see Supported Databases for Flyway
- For information regarding the Flyway features available, please see Flyway feature summary
Driver
Item | Details |
---|---|
URL format | jdbc:mysql://host:port/database or jdbc:mariadb://host:port/database |
SSL support | Yes - add ?useSsl=true |
Ships with Flyway Command-line | Yes |
Maven Central coordinates | org.mariadb.jdbc:mariadb-java-client |
Supported versions | 2.0.0 and later |
Default Java class | org.mariadb.jdbc.Driver |
Java Usage
MariaDB support is a separate dependency for Flyway and will need to be added to your Java project to access these features.
MariaDB is found within the flyway-mysql
plugin module.
Maven
Redgate
<dependency>
<groupId>com.redgate.flyway</groupId>
<artifactId>flyway-mysql</artifactId>
</dependency>
Open Source
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-mysql</artifactId>
</dependency>
Gradle
Redgate
dependencies {
implementation "com.redgate.flyway:flyway-mysql"
}
Open Source
dependencies {
implementation "org.flywaydb:flyway-mysql"
}
`
## SQL Script Syntax
- [Standard SQL syntax](Concepts/migrations#sql-based-migrations#syntax) with statement delimiter **;**
- Delimiter change for stored procedures using DELIMITER statements
- Comment directives generated by mysqldump (/!.../;)
- MySQL-style single-line comments (# Comment)
### Compatibility
- DDL exported by mysqldump can be used unchanged in a Flyway migration.
- Any MySQL SQL script executed by Flyway, can be executed by the MySQL command-line tool and other
MySQL-compatible tools (after the placeholders have been replaced).
### Example
```sql
/* Single line comment */
CREATE TABLE test_data (
value VARCHAR(25) NOT NULL,
PRIMARY KEY(value)
);
/*
Multi-line
comment
*/
-- MySQL procedure
DELIMITER //
CREATE PROCEDURE AddData()
BEGIN
# MySQL-style single line comment
INSERT INTO test_data (value) VALUES ('Hello');
END //
DELIMITER;
CALL AddData();
-- MySQL comments directives generated by mysqlsump
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-- Placeholder
INSERT INTO ${tableName} (name) VALUES ('Mr. T');