2012-07-23 17 views
19

Tengo un script de inicio para mi base de datos MySQL, pero para fines de prueba no quiero usar una base de datos H2. ¿Alguien sabe cómo convertir el archivo o al menos tiene una lista de las diferencias de sintaxis? Gracias.Convierte script de MySQL a H2

Respuesta

9

Hay a number of database tools que ayudan a migrar datos de una a otra base de datos, por ejemplo:

+1

que tenía un poco de diversión creando el script bash que convertirá un archivo mysqldump al formato h2. https://github.com/Joebh/MysqlDumpToH2 –

+0

SQuirreL DB Copy Plugin funcionó muy bien. – Ben

-2

vi esto en el iConomy FAQ (http: // ico .nexua.org/Main/FAQ # toc28):

Cómo convierto H2 a MySQL ?

ya que ambos son SQL basada todo lo que tiene que hacer es exportar los datos h2 SQL en un archivo .sql, y la importación en una base de datos MySQL utilizando una interfaz gráfica de usuario, o phpMyAdmin, Admininer, SQLBuddy, etc .. Para Haga esto, puede usar la consola incorporada h2 o la GUI RazorSQL h2 (multiplataforma). Si desea la salida SQL de la base de datos, la ruta completa a su minecraft.h2.db sin la parte .h2.db

Use la siguiente línea dentro de un archivo .sh/.bat o una consola dentro de/lib carpeta donde se encuentra h2.jar:

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

Esta es la salida de un archivo llamado backup.sql y contendrá la salida de SQL prima de la base de datos. Es posible que necesite editarlo un poco para que coincida con MySQL. :)

+0

¿No es exactamente lo contrario de lo que se solicitó? – kaqqao

5

Aquí es una buena instrucción por Matthew Casperson

Exporting from MySQL to H2

Aquí es una breve lista de pasos, para convertir de MySQL a h2:

arreglar sola cotizaciones

CREATE TABLE `user` ( VARCHAR name` (20) NOT NULL,
convertido al
CREATE TABLE user ( name varchar (20) NOT NULL,

Fijar números hexadecimales
arreglar los bits
no hacer incluir rangos en las claves
Eliminar conjuntos de caracteres (eliminar conjunto de caracteres ...)
Eliminar configuración COLLATE (feINTERCAL utf8_unicode_ci)
Retire índices en gotas, campos CLOBS y TEXT
Hacer todos los nombres de índice único
Usar el modo de compatibilidad de MySQL (JDBC: H2: ~/prueba; MODO = MySQL)

+1

Intenta incluir la idea principal del artículo en tu respuesta. Puedo ser útil si el enlace se cae. –

+0

Es difícil hacer eso, porque Matthew lo discierne muy breve y claramente, pero enumero todos los pasos importantes y espero que esté bien con eso. –