Neues Modul mittels Laraknife: Unterschied zwischen den Versionen

Aus Vokabulabor
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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
php artisan migrate
./Lara create:module $FILE_MIGRATION --module=$MODULE
./Lara create:module $FILE_MIGRATION --module=$MODULE
</syntaxhighlight>
</syntaxhighlight>
* Hinweis: "Lara" ist ein symbolischer Link auf die Datei builder.php
* 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>

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