Přejmenování tabulek v systému Laravel
Přejmenování tabulky v systému Laravel je běžný úkol, který může nastat při refaktorizaci databázového schématu. V tomto příspěvku si ukážeme, jak na to. přejmenování tabulky v systému Laravel.
Uvažujme, že již máme následující tabulku klientů:
use Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { Schema::create('clients', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('clients'); }};
Přejmenování tabulky pomocí nové migrace
Přejmenování clients tabulky na customers, musíme vytvořit nový migrační soubor pomocí příkazu make:migration artisan:
php artisan make:migration rename_clients_table_to_customers_table
Nový migrační soubor aktualizujte takto:
use Illuminate\Database\Migrations\Migration;use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { Schema::rename('clients', 'customers'); } public function down(): void { Schema::rename('customers', 'clients'); }};
Tato migrace využívá vestavěnou funkci Laravel Schema::rename() přejmenovat tabulku z clients to customers. Na stránkách . down() metoda zajišťuje, že v případě potřeby můžete změnu vrátit zpět.
Spusťte migraci:
php artisan migrate
Na stránkách clients je nyní přejmenována na customers.