Подтвердить что ты не робот

Преобразование MySQL script в H2

У меня есть init script для моей базы данных MySQL, но для тестовых целей я не буду использовать базу данных H2. Кто-нибудь знает, как преобразовать файл или, по крайней мере, имеет список различий синтаксиса? Благодарю.

4b9b3361

Ответ 2

Вот хорошая инструкция Мэтью Касперсона

Экспорт из MySQL в H2

Вот краткий список шагов для преобразования из 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.:)