Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Laravel 5:uruchamiaj migracje w środowisku serwerowym, a nie lokalnym

Nie możesz uruchamiać żadnych zdalnych poleceń na lokalnym artisan . Wszystko, co tam uruchomisz, będzie działać tylko lokalnie (nawet jeśli ustawisz ENV zmienna).

Ustawianie ENV zmienna ma po prostu powiedzieć aplikacji, aby zachowywała się tak, jakby była w to środowisko. Ale nie mówi rzemieślnikowi, aby używał zdalnego środowiska produkcyjnego.

Jeśli chcesz uruchamiać polecenia na swoim serwerze produkcyjnym, proponuję zajrzeć do Wysłanie . Jest to całkowicie samodzielny projekt (i nie musi być używany tylko z projektami Laravel) i jest przeznaczony specjalnie do wdrażania.

Jest to w zasadzie cienkie opakowanie wokół SSH do zdalnego serwera, a następnie uruchamianie poleceń. Przykład Envoy.blade.php plik w moich witrynach może wyglądać tak:

@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

Ten SSH uruchamia się, przełącza aplikację w tryb konserwacji, ściąga nowy kod, wykonuje różne konfiguracje „nowego kodu”, takie jak instalacja kompozytora, migracja itp., a następnie wyciąga aplikację z trybu konserwacji.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rekurencyjne zapytanie MySQL?

  2. Rekord MySQL, który podlegałby TTL

  3. Heroku - Nie można połączyć się z lokalnym serwerem MySQL

  4. Korzystanie z instrukcji Select and where w Criteria

  5. #1136 – Liczba kolumn nie odpowiada liczbie wartości?