Migrazione from Lumen to Laravel » History » Revision 14
« Previous |
Revision 14/18
(diff)
| Next »
Fluidone Morinmoto, 05/29/2021 02:27 PM
Migrazione from Lumen to Laravel¶
Rinominare la cartella dell'applicazione:
$ mv panizahomebrew_backend panizahomebrew_backend_lumen
Create un nuovo progetto Laravel
$ composer create-project laravel/laravel panizahomebrew_backend
Entrare nella cartella del nuovo progetto
$ cd panizahomebrew_backend
Installare il package dei permessi
$ composer require spatie/laravel-permission
Creare il file .env partendo dal .env.example di Laravel e copiarci i valori del file .env originale del progetto Lumen.
Copiare i file delle migration che abbiamo già scritto nella cartella delle migration del nuovo progetto Laravel
$ cp ../panizahomebrew_backend_lumen/database/migrations/* database/migrations/
Verificare di non avere a database delle tabelle con i seguenti nomi:
- users
In tal caso creare una migration per rinominarle temporaneamente, se non vogliamo cancellarle:
$ php artisan make:migration rename_tables_pre_laravel_migration
In questo modo viene creata una migration con il timestamp odierno, che, per come funzionano le migration di Laravel, verrà eseguita per ultima. Modificare il filename in modo che sia il primo in ordine alfabetico e che venga eseguito per primo in modo da evitare conflitti.
$ mv database/migrations/2021_05_29_121459_rename_tables_pre_laravel_migration.php database/migrations/2000_01_01_120000_rename_tables_pre_laravel_migration.php
Scrivere la migration prendendo ad esempio quanto segue:
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class RenameTablesPreLaravelMigration extends Migration { private $tables_to_rename = [ 'users' => 'users_phb' ]; /** * Run the migrations. * * @return void */ public function up() { foreach ($this->tables_to_rename as $old_name => $new_name) { print_r( sprintf("\nRename '%s' => '%s'..", $old_name, $new_name) ); Schema::rename($old_name, $new_name); } print_r("\n[ OK ]\n"); } /** * Reverse the migrations. * * @return void */ public function down() { foreach ($this->tables_to_rename as $old_name => $new_name) { Schema::rename($new_name, $old_name); } } }
Pulire la cache di artisan per sicurezza
$ php artisan config:clear
Se non si vuole reimpostare il repository git, copiare la cartella .git
del progetto Lumen nel nuovo progetto Laravel
$ cp -R ../panizahomebrew_backend_lumen/.git ./
Eventualmente adeguare il file .gitignore
con ulteriori file da ignorare (in questo caso non è servito)
Updated by Fluidone Morinmoto over 4 years ago · 14 revisions