Ho un'installazione laravel e hanno istituito tre ambienti con i propri corrispondenti directory di configurazione:Come si eseguono le migrazioni di Laravel Artisan su AWS Elastic Beanstalk?
- locale
- messa in scena
- produzione
Io uso php artisan migrate:make create_users_table
ecc come descritto here per creare migrazioni di database.
Nel mio ambiente locale utilizzo Vagrant e una semplice configurazione del server MySQL e nella produzione di staging & utilizzo AWS RDS.
Per configurare l'accesso al database per la messa in scena environment Ho un file app/config/staging/database.php
con le impostazioni in questo modo:
...
"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" => "",
),
...
Io uso git per distribuire l'applicazione con git aws.push
come descritto here.
La domanda è: come si esegue la migrazione sul server EBS di staging (e produzione successiva) durante la distribuzione?
quindi cosa succederà per le prossime migrazioni che sto facendo? Come per quelli che non posso aggiungere di nuovo a GIT come sono già stati aggiunti. Oppure non posso eseguire '' 'git aws.push'''. Quindi quale sarà il passo per quello? - Grazie. –
@HimelNagRana Non seguo abbastanza, ma potresti essere frainteso su come le migrazioni (dovrebbero) funzionare. Tutti i tuoi script di migrazione dovrebbero sempre essere nel repository git. Il database non dovrebbe essere "ripristinato" su ogni distribuzione, la migrazione dovrebbe eseguire solo piccole modifiche nel metodo 'up' nello script di migrazione. Controlla i documenti di migrazione: http://laravel.com/docs/4.2/migrations – oskarth
Penso di non essere stato in grado di farmi capire. Perdonami per quello.Capisco come funziona la migrazione (o dovrebbe funzionare). Era piuttosto una domanda relativa allo spiegamento che ero in grado di capire come. Ad esempio, supponiamo di voler aggiungere "last_login" all'entità utente. Poi lì genererò la migrazione e la eseguirò. La mia domanda è stata: devo fare qualcosa di eccezionale per eseguire la migrazione durante la distribuzione su ElasticBeanstalk? Più tardi ho scoperto che la risposta è "no". Grazie comunque. –