Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Laravel 5:jalankan migrasi di lingkungan server, bukan lokal

Anda tidak dapat menjalankan perintah jarak jauh di artisan lokal Anda . Apa pun yang Anda jalankan di sana hanya akan berfungsi secara lokal (bahkan jika Anda menyetel ENV variabel).

Mengatur ENV variabel hanya untuk memberi tahu aplikasi agar berperilaku seolah-olah di lingkungan itu. Tapi tidak memberitahu artisan untuk menggunakan lingkungan produksi jarak jauh.

Jika Anda ingin menjalankan perintah pada server produksi Anda, saya sarankan Anda melihat ke Utusan . Ini adalah proyek yang sepenuhnya mandiri (dan tidak harus digunakan hanya dengan proyek Laravel) dan khusus untuk penerapan.

Ini pada dasarnya adalah pembungkus tipis di sekitar SSHing ke server jauh Anda dan kemudian menjalankan perintah. Contoh Envoy.blade.php file di situs saya mungkin terlihat seperti ini:

@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

SSH ini masuk, menempatkan aplikasi dalam mode pemeliharaan, menarik kode baru, melakukan berbagai pengaturan 'kode baru' seperti penginstalan komposer, migrasi, dll. dan kemudian menarik aplikasi keluar dari mode pemeliharaan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Query MySQL Untuk Mengambil Data Dengan Nama Kolom

  2. Konektor MySQL C++ 64bit dibangun dari sumber di Visual Studio 2012

  3. Group_Concat di Concat tidak berfungsi dengan nilai NULL

  4. Apakah ada yang setara dengan SET NOCOUNT SQL Server di MySQL?

  5. Panjang kolom JSON maks di MySQL