Google weiß alles: Aliase für mysql-Feldnamen in DB möglich?

Beitrag lesen

[Vorab: Alle Befehle sind für die Shell. Windows-Benutzer müssen sich was einfallen lassen.]

Ist das möglich?

Ja.

ABER:

Die dafür nötigen Krücken sind derartig aufwendig und beinhalten so viele Quellen für künftige logische Fehler (z.B. den alten Name weiter benutzt statt den neuen Alias...), dass jedes mögliche Vorgehen nicht wirklich vielversprechend ist. Anders gesagt: Du bist auf dem Weg Dich selbst zu verwirren.

Klar kannst Du eine View a la select foo as bar from tok einrichten und diese befragen. Ein klarer Favorit für eine View wäre aber aus meiner Sicht etwas wie ein Join welchen ich häufig brauche aber eben nicht dauernd neu in den Abfragen notieren will.

Der einfachste und wohl vorteilhafteste Weg:

grep -R 'alter Tabellenname' > /tmp/bearbeiten.txt

in /tmp/bearbeiten.txt steht dann brav jedes Vorkommen von 'alter Tabellenname' mit Dateiname und Zeilennummer aus allen Dateien im aktuellen Verzeichnis und darunter. Dazu auch die komplette Zeile. Man kann schön sehen, was man zu tun hat und am Ende oder zwischendurch das einfach nochmal machen. Als Fortschritts oder Qualitätskontrolle. Datei mit vi aufrufen, +[Zeilenummer -1] eintippen und Du bist dort, wo Du hinwillst. Alternativ kannst Du daraus auch ein File für patch bauen.

Man kann, mit der Gefahr der unerwünschten Ersetzung, auch sed -i verwenden:

sed -i "s/FOO/BAR/g"  datei.php

Damit kann man aber auch sehr hübsch den Dateiinhalt zerstören: z.B. wenn irgendein Vorkommen von FOO nicht ersetzt werden soll.

Hat man jetzt viele Dateien in einem Ordner, dann kann man das mit einem Einzeiler erledigen:

find ./ "*.php" -print0 | xargs -0 sed -i "s/FOO/BAR/g"

Findet jede PHP-Datei im und unterhalb des aktuellen Verzeichnisses und schickt für jeden Fund sed los um diese zu verändern. Das -print0 und xargs -0 sorgt übrigens dafür, dass zwischen den Dateinamen im gelieferten String das in Dateinamen nicht zulässig NULL-Byte als Trenner eingefügt und von xargs dann als Trennzeichen beachtet wird.

ein lfd. Projekt ist konzeptionell zu ändern.

Änderungen am Konzept führen immer zu einem neuen Major-Release. Dabei den scheinbar billigen Weg zu gehen und über irgendwelche Aliase Arbeit sparen zu wollen wird sich später übel rächen.

Anders ausgedrückt: "WER macht denn SOWAS?"