Neues Modul mittels Laraknife: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Ablauf) |
|||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
= Ablauf = | = Ablauf = | ||
* Erstellen einer DB-Tabelle | * Erstellen einer Beschreibung einer DB-Tabelle: <code>php artisan create_xxx_table</code> | ||
* Edieren der Tabellenattribute. | * Edieren der Tabellenattribute in der erzeugten Datei: *_create_xxx_table.php | ||
* Erstellen der Moduldateien aus den Vorlagen. | * Erstellen der Moduldateien aus den Vorlagen. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Zeile 19: | Zeile 19: | ||
Diese Datei anpassen: Siehe [[Datenbank-Laravel#Funktionen_f.C3.BCr_.22migrate.22]] | Diese Datei anpassen: Siehe [[Datenbank-Laravel#Funktionen_f.C3.BCr_.22migrate.22]] | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
php artisan migrate | |||
FILE_MIGRATION=database/migrations/*_create_${TABLE}_table.php | FILE_MIGRATION=database/migrations/*_create_${TABLE}_table.php | ||
./Lara create:module $FILE_MIGRATION --module=$MODULE | |||
</syntaxhighlight> | |||
* Hinweis: "Lara" ist ein symbolischer Link auf die Datei builder.php | |||
== Database Seeder == | |||
Um Tabellen mit sinnvollen Daten vorzubelegen, werden '''Database Seeder''' verwendet. | |||
<syntaxhighlight lang="bash"> | |||
php artisan make:seeder NoteSeeder | |||
</syntaxhighlight> | |||
Die entstehende Datei database/seeders/RoleSeeder.php anpassen: | |||
<pre> | |||
public function run(): void | |||
{ | |||
DB::table('sproperties')->insert([ | |||
'id' => 1051, | |||
'scope' => 'category', | |||
'name' => 'standard', | |||
'order' => '10', | |||
'shortname' => 'Std' | |||
]); | |||
DB::table('sproperties')->insert([ | |||
'id' => 1052, | |||
'scope' => 'category', | |||
'name' => 'private', | |||
'order' => '20', | |||
'shortname' => 'P' | |||
]); | |||
DB::table('sproperties')->insert([ | |||
'id' => 1053, | |||
'scope' => 'category', | |||
'name' => 'work', | |||
'order' => '30', | |||
'shortname' => 'W' | |||
]); | |||
} | |||
</pre> | |||
Aktivieren: | |||
<syntaxhighlight lang="bash"> | |||
php artisan db:seed | |||
# oder einzelnes Modul: | |||
php artisan db:seed --class=NoteSeeder | |||
</syntaxhighlight> | </syntaxhighlight> |
Aktuelle Version vom 19. Februar 2024, 14:50 Uhr
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 NoteSeeder
Die entstehende Datei database/seeders/RoleSeeder.php anpassen:
public function run(): void { DB::table('sproperties')->insert([ 'id' => 1051, 'scope' => 'category', 'name' => 'standard', 'order' => '10', 'shortname' => 'Std' ]); DB::table('sproperties')->insert([ 'id' => 1052, 'scope' => 'category', 'name' => 'private', 'order' => '20', 'shortname' => 'P' ]); DB::table('sproperties')->insert([ 'id' => 1053, 'scope' => 'category', 'name' => 'work', 'order' => '30', 'shortname' => 'W' ]); }
Aktivieren:
php artisan db:seed
# oder einzelnes Modul:
php artisan db:seed --class=NoteSeeder