У меня есть init script для моей базы данных MySQL, но для тестовых целей я не буду использовать базу данных H2. Кто-нибудь знает, как преобразовать файл или, по крайней мере, имеет список различий синтаксиса? Благодарю.
Преобразование MySQL script в H2
Ответ 1
Есть несколько инструментов базы данных, которые помогают переносить данные из одной базы данных, например:
Ответ 2
Вот хорошая инструкция Мэтью Касперсона
Вот краткий список шагов для преобразования из mysql в h2:
Исправить одиночные кавычки
CREATE TABLE `user` ( `name` varchar (20) NOT NULL,
конвертировать в
CREATE TABLE user
(name
varchar (20) NOT NULL,
Исправить шестнадцатеричные числа
Заблокировать бит
Не включайте диапазоны в ключах
Удаление наборов символов (удалить CHARACTER SET...)
Удалите настройки COLLATE (например, COLLATE utf8_unicode_ci)
Удаление индексов в полях BLOBS, CLOBS и TEXT
Сделать все имена индексов уникальными
Используйте режим совместимости MySQL (jdbc: h2: ~/test; MODE = MySQL)
Ответ 3
Я видел это в FAQ iConomy (http://ico.nexua.org/Main/FAQ#toc28):
Как преобразовать H2 в MySQL?
Поскольку они оба основаны на SQL, все, что вам нужно сделать, это экспортировать данные h2 sql в файл .sql и импортировать их в базу данных MySQL с помощью графического интерфейса пользователя или PHPMyAdmin, Admininer, SQLBuddy и т.д. Для этого вы можете использовать встроенную консоль h2 или графический интерфейс RazorSQL h2 (многоплатформенный). Если вы хотите получить SQL-выход базы данных, полный путь к вашему minecraft.h2.db без части .h2.db
Используйте следующую строку внутри файла .sh/.bat или консоли внутри папки /lib, где находится h2.jar:
java -cp h2*.jar org.h2.tools.Script -url jdbc:h2:path/to/minecraft -user sa -password sa
Это выведет файл с именем backup.sql и будет содержать исходный SQL-вывод базы данных. Возможно, вам придется немного отредактировать его, чтобы он соответствовал MySQL.:)