H2 Der Befehl "runscript" wandelt alle Tabellennamen in Großbuchstaben um

8

Ich habe ein SQL-Skript (es ist nur Schema-Definition). Das Skript ist eine modifizierte Version (loswerden der schlechten Zeichen h2 nicht gefällt) von einem mysql dumm.

Das Skript wird ausgeführt und das Schema wird in die h2-Datenbank eingefügt, aber das Problem ist, dass alle Datenbanknamen in Großbuchstaben geschrieben sind ("xyz" wird in "XYZ" konvertiert).

Ich brauche sie in Kleinbuchstaben, weil meine Anwendung nach dem Kleinbuchstaben sucht (und alle Tabellen in der MySQL-Datenbank sind Kleinbuchstaben).

Warum passiert das? Wie kann ich h2 sagen, das nicht zu tun? Gibt es eine bessere Möglichkeit, die Schemadefinition in h2 einzufügen?

Dies ist der INT-Befehl, den ich ausführe:

%Vor%

EDIT: Probieren Sie dies auf der h2-Konsole aus. Es handelt sich also nicht um ein INIT-Problem, sondern um den Befehl 'RUNSCRIPT'.

Versuchte dies

%Vor%     
Nacht 08.07.2013, 14:35
quelle

2 Antworten

16

Das Problem wurde gefunden. Standardmäßig hat h2 diese Einstellung auf " DATABASE_TO_UPPER " gesetzt. Wenn Sie dies auf false setzen, werden die Daten wie erwartet gespeichert. In meinem INIT-Befehl (davor) habe ich Folgendes eingegeben:

%Vor%

Nun werden die Tabellen im richtigen Fall eingefügt

    
Nacht 08.07.2013, 15:25
quelle
6

Eine andere Option besteht darin, Tabellen- / Spaltennamen in doppelte Anführungszeichen zu schreiben, um das Gehäuse zu erhalten.

z. create table "products" anstelle von create table products

    
dcastro 19.05.2015 22:21
quelle

Tags und Links