Neues Modul mittels Laraknife
Links
Zielsetzung
Erstellen eines Moduls (Controller, Views...) mittels Laraknife.
Ablauf
- Erstellen einer Beschreibung einer DB-Tabelle:
php artisan create_xxx_table
- Edieren der Tabellenattribute in der erzeugten Datei: *_create_xxx_table.php
- Erstellen der Moduldateien aus den Vorlagen.
BASE_PROJECT=/home/ws/php/langutor
MODULE=Role
TABLE=roles
cd $BASE_PROJECT
php artisan make:migration create_${TABLE}_table
Es wird die Datei database/migrations/2023_12_25_163536_create_roles_table.php erzeugt. Diese Datei anpassen: Siehe Datenbank-Laravel#Funktionen_f.C3.BCr_.22migrate.22
php artisan migrate
FILE_MIGRATION=database/migrations/*_create_${TABLE}_table.php
./Lara create:module $FILE_MIGRATION --module=$MODULE
- Hinweis: "Lara" ist ein symbolischer Link auf die Datei builder.php
Database Seeder
Um Tabellen mit sinnvollen Daten vorzubelegen, werden Database Seeder verwendet.
php artisan make:seeder UserSeeder
Die entstehende Datei database/seeders/RoleSeeder.php anpassen:
public function run(): void { DB::table('users')->insert([ 'name' => 'Administrator', 'email' => 'administrator@example.com', 'password' => Hash::make('TopSecret'), 'role_id' => 1 ]); }
Aktivieren:
php artisan db:seed
# oder einzelnes Modul:
php artisan db:seed --class=UserSeeder