sql >> Database teknologi >  >> RDS >> Mysql

Laravel 5:kør migreringer på servermiljø, ikke lokalt

Du kan ikke køre nogen fjernkommandoer på din lokale artisan . Alt, hvad du kører der, vil kun fungere lokalt (selvom du indstiller ENV). variabel).

Indstilling af ENV variabel er bare at fortælle applikationen at den skal opføre sig som om den er in det miljø. Men beder ikke håndværkeren om at bruge fjernproduktionsmiljøet.

Hvis du vil køre kommandoer på din produktionsserver, foreslår jeg, at du kigger på Envoy . Det er et fuldstændigt selvstændigt projekt (og skal ikke kun bruges med Laravel-projekter) og er specifikt til implementering.

Det er dybest set en tynd indpakning omkring SSHing ind i din fjernserver og derefter køre kommandoer. Et eksempel på Envoy.blade.php fil på mine websteder kan se sådan ud:

@servers(['web' => '[email protected]'])

@task('deploy')
    cd ~/src

    php artisan down
    git pull origin master

    composer install --no-dev --no-progress --prefer-dist
    php artisan migrate --force --no-interaction
    php artisan optimize
    php artisan up
@endtask

Denne SSH går ind, sætter applikationen i vedligeholdelsestilstand, trækker den nye kode, udfører de forskellige opsætninger af 'ny kode' som komponistinstallation, migrering osv. og trækker derefter applikationen ud af vedligeholdelsestilstand.




  1. Brug af elasticsearch-river-mysql til at streame data fra MySQL-database til Elasticsearch

  2. Kan ikke importere MySQLdb - python - Windows 8.1

  3. JSON_TABLE() Funktion i Oracle

  4. Få AVG til at ignorere nul- eller nulværdier