uliII: ' RENAME TABLE areagroups TO AreaGroups; ' - vermeiden?

Hi,

bin ziemlicher Newbie in Sachen MySQL, deshalb ist die Fragestellung schon sicher ziemlich laienhaft.

Ich entwickle unter XAMPP / WIN7 64 an einem CMS. Die Übertragung einer Site von lokal zum Webserver funktioniert immer nur, wenn ich die Tabellen nach dieser Art:

RENAME TABLE areagroups TO AreaGroups;

umbenenne. Also versteht der Online Server nicht das Namensschema meiner DB (?).

Kann mir hier Jemand helfen, ob ich da in meinem lokalen XAMPP "nur" etwas umstellen könnte, um das Umbenennen auf dem Online Server zu ersparen?

  1. Hi!

    Kann mir hier Jemand helfen, ob ich da in meinem lokalen XAMPP "nur" etwas umstellen könnte, um das Umbenennen auf dem Online Server zu ersparen?

    Siehe http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html

    Lo!

    1. Hi!

      Kann mir hier Jemand helfen, ob ich da in meinem lokalen XAMPP "nur" etwas umstellen könnte, um das Umbenennen auf dem Online Server zu ersparen?

      Siehe http://dev.mysql.com/doc/refman/5.1/en/identifier-case-sensitivity.html

      Lo!

      Hi,

      vielen Dank. Für mich nicht ganz einfach. Ich suche gerade schon zu lange, wo ich MySQL bezüglich "lower case file system" bzw. "lower case table names" ändern kann. Muss man da eine my.cnf erst selbst anlegen?  Ich finde nur die my.ini und mysql_config.bat, - aber nirgends diesbezügliche Variablen mit den Werten.

      1. Hi!

        Ich suche gerade schon zu lange, wo ich MySQL bezüglich "lower case file system" bzw. "lower case table names" ändern kann. Muss man da eine my.cnf erst selbst anlegen?  Ich finde nur die my.ini und mysql_config.bat, - aber nirgends diesbezügliche Variablen mit den Werten.

        Die my.cfg heißt unter Windows my.ini. Wenn du diese Variablen dort nicht findest, wird ihr Default-Wert verwendet. Dass du sie nicht umstellen sollst und stattdessen generell Kleinbuchstaben empfohlen werden, hast du gelesen? Mach dir vor den Experimenten eine Sicherung der Datenbankdateien und einen Export, denn kaputte Index-Dateien werden als ein mögliches Resultat genannt.

        Lo!

        1. Hi!

          Ich suche gerade schon zu lange, wo ich MySQL bezüglich "lower case file system" bzw. "lower case table names" ändern kann. Muss man da eine my.cnf erst selbst anlegen?  Ich finde nur die my.ini und mysql_config.bat, - aber nirgends diesbezügliche Variablen mit den Werten.

          Die my.cfg heißt unter Windows my.ini. Wenn du diese Variablen dort nicht findest, wird ihr Default-Wert verwendet. Dass du sie nicht umstellen sollst und stattdessen generell Kleinbuchstaben empfohlen werden, hast du gelesen? Mach dir vor den Experimenten eine Sicherung der Datenbankdateien und einen Export, denn kaputte Index-Dateien werden als ein mögliches Resultat genannt.

          Lo!

          Hi,

          Danke! Mein Provider stellt den Unix Server nicht um. Deshalb möchte ich jetzt das Windows System anpassen, denn ich kann nicht erst auf dem produktiven Unix Server anfangen zu testen, ob die nötigen Änderungen funktionieren. Ich habe den Text in deinem obigen Link mehrfach gelesen, - ja (Danke nochmal). Aber mir ist trotzdem noch nicht ganz klar, was ich jetzt am besten tun werde...

          1. Hi!

            Mein Provider stellt den Unix Server nicht um. Deshalb möchte ich jetzt das Windows System anpassen, denn ich kann nicht erst auf dem produktiven Unix Server anfangen zu testen, ob die nötigen Änderungen funktionieren.

            Es ist nicht möglich, dem Windows ein Unix-ähnliches Verhalten beizubringen, was die Dateinamen anbelangt. Das findet eine Datei in beliebiger Schreibweise. Unix macht das nicht, da musst du genau so schreiben, wie der Name wirklich ist. Und da vermutlich auf dem Unix-System lower_case_table_names auf 0 steht (siehe SHOW VARIABLES LIKE 'lower%'), musst du exakt sein. Das kannst du auch mit keiner Windows-Einstellung ändern, sondern nur mit Disziplin.

            Lo!

            1. Hi!

              Mein Provider stellt den Unix Server nicht um. Deshalb möchte ich jetzt das Windows System anpassen, denn ich kann nicht erst auf dem produktiven Unix Server anfangen zu testen, ob die nötigen Änderungen funktionieren.

              Es ist nicht möglich, dem Windows ein Unix-ähnliches Verhalten beizubringen, was die Dateinamen anbelangt. Das findet eine Datei in beliebiger Schreibweise. Unix macht das nicht, da musst du genau so schreiben, wie der Name wirklich ist. Und da vermutlich auf dem Unix-System lower_case_table_names auf 0 steht (siehe SHOW VARIABLES LIKE 'lower%'), musst du exakt sein. Das kannst du auch mit keiner Windows-Einstellung ändern, sondern nur mit Disziplin.

              Lo!

              Nochmal Danke, auch für die schnelle Antwort! Langsam verstehe ich ein bischen mehr. Lässt sich das Win System wenigstens so einstellen, das alle Einträge in die DB vom System nicht geändert werden? Also Groß und Klein- schreibung bleibt, - auch wenn das Win System das gar nicht intern unterscheidet? Aber um lokal wirklich zu testen, komme ich wohl um ein echtes Unix/ Linux System wohl nicht herum?

              1. Hi!

                Lässt sich das Win System wenigstens so einstellen, das alle Einträge in die DB vom System nicht geändert werden?

                Probier es mit lower_case_table_names=2

                Lo!

                1. Hi!

                  Lässt sich das Win System wenigstens so einstellen, das alle Einträge in die DB vom System nicht geändert werden?

                  Probier es mit lower_case_table_names=2

                  Lo!

                  Hallo,

                  nochmals Danke! Neue Einträge/ Tabellen sind so (=2) gegebenenfalls Groß- und Kleingeschrieben.
                  Aber mit 'RENAME TABLE areas TO Areas;' lassen sich alte Tabellen nun nicht ändern. Was mache ich hier falsch?

                  1. Hi!

                    Neue Einträge/ Tabellen sind so (=2) gegebenenfalls Groß- und Kleingeschrieben.
                    Aber mit 'RENAME TABLE areas TO Areas;' lassen sich alte Tabellen nun nicht ändern. Was mache ich hier falsch?

                    Ich weiß es nicht, aber probier mal, die Bezeichner in Backtics einzufassen. Damit sollten die Bezeichner eigentlich so genommen werden, wie sie geschrieben sind.

                    Lo!