2012-07-23 12 views
19

Mam skrypt init dla mojej bazy danych MySQL, ale do celów testowych nie będę używać bazy danych H2. Ktoś wie, jak przekonwertować plik lub przynajmniej ma listę różnic w składni? dzięki.Konwersja skryptu MySQL do H2

Odpowiedz

9

Istnieje a number of database tools że pomoże migracji danych z jednej do innej bazy danych, na przykład:

+1

miałem trochę zabawy tworzenie skryptu bash, który przekonwertuje plik mysqldump na format h2. https://github.com/Joebh/MysqlDumpToH2 –

+0

SQuirreL DB Copy Plugin działało bardzo dobrze. – Ben

-2

Widziałem to na iConomy FAQ (http: // ico .nexua.org/Main/FAQ # toc28):

Jak przekonwertować H2 do MySQL ?

Ponieważ oba są oparte na języku SQL, wszystko, co musisz zrobić, to wyeksportować dane sql h2 do pliku .sql i zaimportować go do bazy danych MySQL za pomocą GUI lub PHPMyAdmin, Admininer, SQLBuddy, itd. To w tym celu można użyć wbudowanej konsoli h2 lub RazorSQL h2 GUI (Multi-platform). Jeśli chcesz uzyskać wyjście SQL bazy danych, pełną ścieżkę do pliku minecraft.h2.db bez części .h2.db

Skorzystaj z poniższej linii w pliku .sh/.bat lub konsoli wewnątrz/lib folder, w którym znajduje się h2.jar:

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

wyjście to będzie plik o nazwie backup.sql i będzie zawierać surowe wyjście SQL bazy danych. Być może będziesz musiał trochę go edytować, aby pasował do MySQL. :)

+0

Czy nie jest to dokładne przeciwieństwo tego, o co pytano? – kaqqao

5

Oto dobre instrukcji Matthew Casperson

Exporting from MySQL to H2

Oto krótka lista kroków, aby przekonwertować z mysql do H2:

Fix singiel wycena

STWÓRZ TABELĘ `użytkownika` ( name` `varchar (20) NOT NULL,
przeliczyć
Utwórz tabelę user ( name varchar (20) NOT NULL,

Fix up numery hex
naprawić bity
Nie obejmują zakresy w kluczach
Usuń zestawy znaków (usuń CHARACTER SET ...)
Usuń ustawienia KOLIBATE (np.SORTOW.- utf8_unicode_ci)
Usuń indeksy na BLOB, CLOB i pola tekstowe
Dodać wszystkie nazwy indeksów unikalnych
Użyj tryb zgodności MySQL (JDBC: h2: ~/test; MODE = MySQL)

+1

Spróbuj podać główną ideę artykułu w swojej odpowiedzi. Mogę być przydatny, jeśli link się zmniejszy. –

+0

Ciężko to zrobić, ponieważ Mateusz wykazuje to bardzo krótko i wyraźnie, ale wymieniam wszystkie ważne kroki i mam nadzieję, że wszystko z nim w porządku. –