sql >> Databáze >  >> RDS >> Mysql

Laravel 5:spouštějte migrace v prostředí serveru, nikoli v místním prostředí

Na místním artisan nemůžete spouštět žádné vzdálené příkazy . Vše, co tam spustíte, bude fungovat pouze lokálně (i když nastavíte ENV proměnná).

Nastavení ENV proměnná pouze sděluje aplikaci, aby se chovala, jako by byla in to prostředí. Ale neříká to řemeslníkovi, aby používal vzdálené produkční prostředí.

Pokud chcete spouštět příkazy na svém produkčním serveru, doporučuji vám podívat se na Envoy . Je to zcela samostatný projekt (a nemusí být používán pouze s projekty Laravel) a je určen speciálně pro nasazení.

Je to v podstatě tenký obal kolem SSHing na váš vzdálený server a následné spouštění příkazů. Příklad Envoy.blade.php soubor na mých stránkách může vypadat takto:

@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

Toto SSH se spustí, uvede aplikaci do režimu údržby, stáhne nový kód, provede různá nastavení „nového kódu“, jako je instalace skladatele, migrace atd., a poté aplikaci vytáhne z režimu údržby.




  1. SQL pro řazení alfanumerického řetězce podle číselné části

  2. Nejrychlejší způsob aktualizace 120 milionů záznamů

  3. Jak povolit režim protokolování archivace v databázi Oracle 19c

  4. MYSQL - získáte řádek za každý rok s celkovým součtem za každý měsíc