Cum creezi schema unei baze de date intr-o aplicatie Laravel?

Configurare noua (How To)

Situatie

Migrațiile sunt ca controlul versiunilor pentru baza de date, permițând echipei dumneavoastră să definească și să partajeze definiția schemei bazei de date a aplicației. Dacă a trebuit vreodată să-i spuneți unui coechipier să adauge manual o coloană la schema bazei de date locală după ce ați introdus modificările din controlul sursei, v-ați confruntat cu problema pe care o rezolvă migrările bazei de date.

Solutie

Fațada Schema Laravel oferă suport agnostic al bazei de date pentru crearea și manipularea tabelelor în toate sistemele de baze de date acceptate de Laravel. De obicei, migrațiile vor folosi această fațadă pentru a crea și modifica tabelele și coloanele bazei de date.

Puteți utiliza comanda make:migration Artisan pentru a genera o migrare a bazei de date. Noua migrare va fi plasată în baza de date/directorul de migrații. Fiecare nume de fișier de migrare conține un marcaj de timp care îi permite Laravel să determine ordinea migrărilor:

php artisan make:migration create_flights_table

O clasă de migrare conține două metode: sus și jos. Metoda up este folosită pentru a adăuga noi tabele, coloane sau indecși în baza de date, în timp ce metoda down ar trebui să inverseze operațiunile efectuate de metoda up.

În ambele metode, puteți utiliza generatorul de scheme Laravel pentru a crea și modifica în mod expres tabele. Pentru a afla despre toate metodele disponibile în constructorul Schema, consultați documentația acestuia. De exemplu, următoarea migrare creează un tabel de zboruri:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
  /**
    * Run the migrations.
    *
    * @return void
    */
  public function up()
  {
      Schema::create(‘flights’, function (Blueprint $table) {
          $table->id();
          $table->string(‘name’);
          $table->string(‘airline’);
          $table->timestamps();
      });
  }

  /**
    * Reverse the migrations.
    *
    * @return void
    */
  public function down()
  {
      Schema::drop(‘flights’);
  }
};

Pentru a rula toate migrațiile restante, executați comanda migrate Artisan:

php artisan migrate

Tip solutie

Permanent

Voteaza

(17 din 27 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?