Ich habe eine Laravel Installation und haben drei Umgebungen mit ihren eigenen entsprechenden Konfigurations Verzeichnisse einrichten:Wie führe ich Laravel Artisan-Migrationen auf AWS Elastic Beanstalk durch?
- lokale
- Inszenierung
- Produktion
Ich benutze php artisan migrate:make create_users_table
als here beschrieben usw. erstellen Datenbankmigrationen.
In meiner lokalen Umgebung verwende ich Vagrant und ein einfaches MySQL-Server-Setup, und bei der Bereitstellung & Produktion verwende ich AWS RDS.
...
"mysql" => array(
"driver" => "mysql",
"host" => $_SERVER["RDS_HOSTNAME"],
"database" => $_SERVER["RDS_DB_NAME"],
"username" => $_SERVER["RDS_USERNAME"],
"password" => $_SERVER["RDS_PASSWORD"],
"charset" => "utf8",
"collaction" => "utf8_unicode_ci",
"prefix" => "",
),
...
Ich benutze git die App mit git aws.push
zu implementieren als here beschrieben:
Um den Datenbankzugriff für die Stagingenvironment Ich habe eine app/config/staging/database.php
Datei mit Einstellungen, wie dieses zu konfigurieren.
Die Frage ist: Wie führe ich die Migration auf meinem Staging (und später Produktion) EBS-Server bei der Bereitstellung?
Was passiert also für die nächsten Migrationen, die ich mache? Wie für diese kann ich sie nicht wieder zu GIT hinzufügen, da sie bereits hinzugefügt sind. Oder ich kann '' 'git aws.push''' nicht ausführen. Was wird der Schritt dafür sein? - Vielen Dank. –
@HimelNagRana Ich folge nicht ganz, aber Sie verstehen vielleicht falsch, wie Migrationen (sollten) funktionieren. Alle Ihre Migrationsskripts sollten immer im Git Repo sein. Ihre Datenbank sollte nicht bei jeder Bereitstellung "zurückgesetzt" werden. Die Migration sollte nur die kleinen Änderungen an Ihrer Up-Methode im Migrationsskript durchführen. Sehen Sie sich die Migrationsdokumente an: http://laravel.com/docs/4.2/migrations – oskarth
Ich glaube, ich konnte mich nicht klar machen. Das tut mir leid.Ich verstehe, wie Migration funktioniert (oder funktionieren sollte). Es war eher eine deployment-bezogene Frage, die ich herausfinden konnte. Angenommen, ich möchte "last_login" zur Benutzereinheit hinzufügen. Dann werde ich Migration generieren und sie ausführen. Meine Frage war, muss ich etwas Außergewöhnliches tun, um die Migration während der Bereitstellung in ElasticBeanstalk auszuführen? Später fand ich, dass die Antwort "Nein" ist. Danke trotzdem. –