Seeder bazy danych w Laravel

Seeder bazy danych w Laravel
Dane aplikacji internetowych są przechowywane na stałe w bazie danych i są istotną częścią projektu internetowego. Czasami wymaga przetestowania aplikacji za pomocą manekina danych. To zadanie można wykonać w projekcie Laravel za pomocą sedna bazy danych. Laravel zawiera klasy nasion, aby szybko dodać wiele fałszywych danych do bazy danych do celów testowania, a klasy te są przechowywane w lokalizacji, baza danych/siewniki. DataBaseSeEder Klasa jest domyślnie używana w Laravel do korzystania z klas Seedera. W tym samouczku pokazano sposób wysiew w bazie danych za pomocą klas nasion Laravel.

Wymagania wstępne:

Musisz wykonać następujące zadania przed rozpoczęciem zadania sadzenia bazy danych.

  1. Utwórz nowy projekt Laravel o nazwie piasterproject. Tutaj, kompozytor został użyty do stworzenia projektu Laravel. Jeśli kompozytor nie jest instalowany wcześniej, musisz go zainstalować przed wykonaniem następującego polecenia.
    $ Composer Create-Project Laravel/Laravel SeederProject
  1. Przejdź do folderu projektu.
    $ CD SeederProject
  2. Wszystkie przykłady tego samouczka zostały przetestowane w Laravel w wersji 9+. Sprawdź zainstalowaną wersję Laravela.
    $ PHP Artisan --version

Konfiguracja bazy danych:

Musisz utworzyć bazę danych w MySQL, aby zaimplementować zadanie sadzenia bazy danych. Wykonaj następujące zadania, aby utworzyć bazę danych i skonfiguruj bazę danych dla projektu Laravel.

  1. Uruchom następujące polecenie SQL, aby utworzyć nazwaną bazę danych db_seeder Z monitu MySQL.
    MySQL> Utwórz bazę danych db_seeder;
  2. Otworzyć .Env plik projektu Laravel i zainicjuj wartości dla następujących informacji na podstawie bazy danych.
    Db_connection = mysql
    Db_host = localhost
    Db_port = 3306
    Db_database = db_seeder
    Db_username = „nazwa użytkownika”
    Db_password = „Hasło”

Utwórz plik modelu i migracji dla tabeli:

Przejdź do folderu projektu Laravel i uruchom następujące polecenie, aby utworzyć model i plik migracyjny dla Klienci tabela.

$ PHP Artisan Make: Model klienci -m

Następujące dane wyjściowe pojawią się, jeśli pomyślnie utworzono plik modelu i migracji. Model plik wymieniony klientów.PHP i plik migracji o nazwie 2022_03_09_141143_create_customers_table.PHP został tutaj utworzony. Plik migracyjny będzie wymagał zmodyfikowania w celu dodania pól tabeli klientów na podstawie wymagań projektu, i zostało to zrobione w następnej części samouczka.

Zmodyfikuj plik migracji:

Otwórz plik migracyjny z lokalizacji, baza danych/migracja, i zmodyfikuj plik za pomocą następującej treści, zgodnie z treścią pliku migracyjnego, 7 pól. To są id, nazwa. adres, e -mail, kontakt_no. utworzono_at i aktualizowane pola_at.

Użyj Illuminate \ Batabase \ Migracja \ Migracja;
Użyj Illuminate \ Database \ Schema \ Blueprint;
Użyj Illuminate \ Support \ faceades \ schemat;
Zwrot nowej klasy rozszerza migrację

/**
* Uruchom migracje.
*
* @return void
*/
Funkcja publiczna w górę ()

Schema :: „klienci”, funkcja (Blueprint $ table)
$ table-> id ();
$ TABLE-> String („Nazwa”, 30);
$ tabela-> tekst („adres”);
$ TABLE-> String („e-mail”, 50);
$ tabela-> ciąg („contact_no”, 30);
$ TABLE-> Timestamps ();
);

/**
* Odwróć migracje.
*
* @return void
*/
Funkcja publiczna w dół ()

Schema :: Dropifexists („klienci”);

;

Utwórz tabelę na podstawie pliku migracji:

Uruchom następujące polecenie migracyjne, aby utworzyć Klienci tabela do bazy danych. Fałszywe dane zostaną wstawione w tej tabeli.

Migruj migruj Artisan $

Utwórz fabrykę, aby wygenerować fałszywe dane:

Uruchom następujące polecenie, aby utworzyć fabrykę, która zostanie użyta do wstawienia fałszywych danych do tabeli klientów.

$ PHP Artisan Make: Factory ClientsFactory -Model = Klienci

Następujące dane wyjściowe pojawią się, jeśli fabryka zostanie utworzona pomyślnie i KlienciFactory.php plik jest tworzony w środku baza danych/fabryki folder projektu.

Otworzyć KlienciFactory.php Plik i zmodyfikuj zawartość pliku za pomocą następującej treści. Do dodania fałszywej nazwy, e -maila i adresu w skrypcie użyto trzech właściwości Fakera. To są Faker-> Nazwa, Faker-> e-mail, I Faker-> Adres. Do generowania fałszywego numeru telefonu zastosowano jedną metodę Fakera. Nazwa metody to Numerify (). Ta metoda wstawię fałszywy numer telefonu, zaczynając od „880”, dowolne cyfry liczbowe 4 liczb, a następnie „-” i dowolne cyfry numeryczne 6 liczb, a następnie inne ”-.'

Baza danych przestrzeni nazw \ fabryki;
Użyj Illuminate \ Batabase \ eloquent \ Factories \ Factory;
Użyj App \ Models \ Clients;
/**
* @Extends \ ILLUMINE \ BATEABASE \ eloquent \ Factories \ Factory
*/
Klasy KlienciFactory rozszerza fabrykę

/**
* Zdefiniuj domyślny stan modelu.
*
* @return Array
*/
Protected $ model = klienci :: klasa;
Definicja funkcji publicznej ()

powrót [
'nazwa' => $ this-> faker-> nazwa,
'adres' => $ this-> faker-> adres,
'e-mail' => $ this-> faker-> e-mail,
'contact_no' => $ this-> faker-> Numerify ('880-####-######')
];

Utwórz klasę Seedera:

Uruchom następujące polecenie, aby utworzyć klasę Seedera używaną do uruchomienia fabryki utworzonej wcześniej.

$ PHP Artisan Make: Seeder Klientsseeder

Następujące wyjście pojawią się, jeśli klasa Seedera zostanie utworzona pomyślnie i Klient.php klasa jest tworzona wewnątrz baza danych/siewniki folder projektu.

Otworzyć Klienciseeder.php Plik i zmodyfikuj zawartość pliku za pomocą następującej treści. Według skryptu 20 fałszywych rekordów zostanie wstawionych po wykonaniu polecenia Seed.

Baza danych przestrzeni nazw \ seeders;
Użyj Illuminate \ Database \ Console \ Seeds \ bez modelevents;
Użyj Illuminate \ Batabase \ Seeder;
Użyj App \ Models \ Clients;
Klasy Klienciseeder rozszerza Seeder

/**
* Uruchom nasiona bazy danych.
*
* @return void
*/
funkcja publiczna Run ()

Klienci :: Factory ()-> Count (20)-> create ();

Dane z nasion w tabeli:

Uruchom następujące polecenie, aby wykonać klasę Seedera, która wstawię 20 fałszywych rekordów do tabeli klientów.

$ PHP Artisan DB: Seed - -Class = Clientsseeder

Następujące dane wyjściowe pojawią się, jeśli sadzenie bazy danych zostanie wykonane pomyślnie. 20 fałszywych rekordów zostanie włożonych do tabeli klientów po wykonaniu polecenia.

Następnie możesz otworzyć tabelę klientów, aby sprawdzić, czy sadzenie bazy danych zostało wykonane prawidłowo, a dodano 20 fałszywych rekordów. Otwórz tabelę klientów z adresu URL, http: // localhost/phpMyAdmin i sprawdź treść tabeli. Po otwarciu tabeli otrzymasz następujące podobne wyjście.

Wniosek:

Zadanie wysiewu bazy danych w projekcie Laravel zostało pokazane w tym samouczku, tworząc prostą tabelę. Ręczne dodanie dużej ilości danych do celów testowych jest czasochłonne. Funkcja sadzenia bazy danych Laravel ułatwia to zadanie. Po przeczytaniu tego samouczka, mam nadzieję, że ten samouczek pomoże użytkownikom Laravel zrozumieć cel prawidłowego korzystania z sadzenia bazy danych.