Was ich an RAILS so liebe

Submitted 15 days ago | Updated 15 days ago

Ich kenne kein frei verfügbares Framework, das mit zwei Kommandos ein Gerüst für das Anlegen, Anzeigen, Editieren und Löschen eines "Models" erlaubt. Ja, es mag welche geben, aber ich kenne keins. Ganz aktuelles Beispiel: Ich brauche ein Model namens META. rails g scaffold meta name:string content:string Danach mache ich eine rails db:migrate und kann sofort im Browser Datensätze anlegen. In der vorhandenen Applikation wohlgemerkt!

 

Und für die Armseligen unter Euch, die sich nicht trauen, das in einer produktiven Umgebung auszuführen: das geht ebenso einfach. Nach dem Commit in das Repo checke ich die Änderungen direkt aus, denn die PROD-Umgebung basiert auf einem GIT-Repo (master, testing, you name it): nämlich dem, in das ich grad committed hab. Das geht möglicherweise in einem Post-CheckIn-Step:

#!/bin/sh
cd wohin/auch/immer
git pull
RAILS_ENV=production rails assets:precompile
chown -R 33:33 .
touch tmp/restart.txt
echo "Done"

Der RAILS_ENV=production Prefix ist wichtig: Wenn man Datenbank-Änderungen (also Migrations) durchgeführt hat, muss man in der Produktiv-Umgebung den Kommandos sagen, das wir Produktiv sind. Bevor es allzu wild wird: keine Änderungen an der DB ⇒ führe den Code in der obigen Box aus (natürlich angepasst). Änderungen an der DB ⇒ die RAILS_ENV=production|development ist wichtig!