Convertir un script MySQL en H2

j'ai un script d'initialisation pour ma base de données MySQL mais pour des raisons de test je ne veux pas utiliser une base de données H2. Quelqu'un sait comment convertir le fichier ou a au moins une liste des différences de syntaxe ? grâce.

19
demandé sur user1502150 2012-07-23 14:35:32

3 réponses

Il y a un certain nombre d'outils de base de données qui facilitent la migration des données d'une base de données à une autre, par exemple:

9
répondu Thomas Mueller 2012-11-14 09:57:09

Voici une bonne instruction de Matthew Casperson

exporter de MySQL vers H2

fixer des guillemets simples

créer la TABLE ' user` ( 'name' varchar (20) NOT NULL,

convertir

CREATE TABLE user ( name varchar (20) NOT NULL,

fixer les nombres hexadécimaux

Fixer des bits

Ne pas inclure de gammes dans les touches

Supprimer les jeux de caractères (supprimer les jeux de caractères ...)

Supprimer les paramètres de COLLATE(F. E. COLLATE utf8_unicode_ci)

Supprimer les index sur les BLOBS, les CLOBS et les champs de texte

Rendre tous les noms d'index uniques

Utilisez le mode de compatibilité MySQL (jdbc:H2:~ / test; MODE=MySQL)

5
répondu Vitali Heinrich 2015-06-05 06:29:26

j'ai vu cela sur la FAQ d'iConomy (http://ico.nexua.org/Main/FAQ#toc28):

comment convertir H2 en MySQL?

Puisqu'ils sont tous les deux basés sur SQL Tout ce que vous devez faire est D'exporter les données sql h2 dans A.sql fichier et l'importer dans une base de données MySQL à l'aide d'une interface graphique, ou PHPMyAdmin, Admininer, SQLBuddy, Etc.. Pour ce faire, vous pouvez utiliser le H2 construit dans la console ou RazorSQL H2 GUI (multi-plate-forme). Si vous voulez la sortie SQL de la base de données, le chemin complet vers votre minecraft.h2.db sans le .h2.db partie

Utilisez la ligne suivante à l'intérieur de A. sh / .fichier bat ou console à l'intérieur du dossier /lib où h2.jar est situé à:

java -cp h2*.jar org.h2.tools.Script -url jdbc:h2:path/to/minecraft -user sa -password sa

sortie un fichier nommé sauvegarde.sql et contiendra le résultat brut SQL de la base de données. Vous devrez peut-être l'éditer un peu pour qu'il corresponde à MySQL. :)

-2
répondu Dina Kaiser 2012-09-10 09:23:41