Один из способов, которыми я пытаюсь обойти Flyway , выпуск 156 ( см. Здесь ), - это использовать Java Migrations.С этой целью я написал один на основе образца , чтобы установить начальное состояние базы данных.
Сначала я беру начальное состояние базы данных (mysql 5.5)и поместите его в текстовый файл для миграции:* Затем, чтобы попробовать это:
mvn compile flyway:clean flyway:init flyway:migrate
И результат:
[INFO] --- flyway-maven-plugin:1.5:migrate (default-cli) @ elysium-unity-server ---
[WARNING] Unable to find path for sql migrations: db/migration
[WARNING] Unable to find path for sql migrations: db/migration
[WARNING] Unable to find path for sql migrations: db/migration
[INFO] Validated 0 migrations (mode: ALL) (execution time 00:00.002s)
[INFO] Current schema version: 0
[INFO] Migrating to version 1
Data access exception: StatementCallback; bad SQL grammar [-- MySQL dump 10.13 Distrib 5.5.19, for Win64 (x86)
--
-- Host: localhost Database: myProject
-- ------------------------------------------------------
-- Server version 5.5.19
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
... lots more lines ...
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2012-02-03 12:51:33
]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COL' at line 8
Так что это похоже на синтаксическую ошибку mysql.Но синтаксис был сгенерирован той же базой данных, которую я пытаюсь передать.Я предполагаю, что в середине должно быть что-то, что мешает.Какие-либо предложения?Я хотел бы понять, почему этот точный метод не работает, но я также с благодарностью приму предложения о других способах достижения моей конечной цели .