Laravel Datenbank


Laravel: Anlegen und Verwenden einer Datenbank

Datenbank-Einstellungen, Verwenden von SQLite

Die Datei .env im Root-Verzeichnis der Applikation enthält Informationen zur Datenbankverbindung, sollten diese Informationen nicht vorhanden sein, wird die Datei /config/database.php herangezogen: Darin wird standardmäßig mysql verwendet.

Um SQLlite zu verwenden, muss als erstes eine Datenbankdatei angelegt werden, dazu im Terminal: touch ./database/database.sqlite In der Datei .env sollten die Zeilen mit der Datenbankverbindung angepasst werden:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

geändert auf:

DB_CONNECTION=sqlite

 

Migrations

php artisan make:migration create_users_table

Datenbanken anlegen:

Befehl php artisan migrate

user@rechner /var/www/html/systeme/blog $ touch ./database/database.sqlite
user@rechner /var/www/html/systeme/blog $ php artisan migrate
Migration table created successfully.
Migrated: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_100000_create_password_resets_table

Tinker

Einfügen von Werten mittels Tinker

php artisan tinker
DB::table('tasks')->insert(['name' => 'MyTaskname', 'created_at' => new DateTime, 'updated_at' => new DateTime]);
DB::table('tasks')->get();
DB::table('users')->where('id',1)->update(['roleid' => 1]);
DB::table('tasks')->where('title','MyTaskname')->delete();

Seeds

Mittels Seeds können Werte in die Datenbank geschrieben werden. Dies ist vor allem für Entwicklungsumgebungen, wenn die Datenbank mittels migrate erstellt wurde und befüllt werden soll.

 

in DatabaseSeeder.php

     DB::table('database1')->insert(['name' => 'Paul', 'created_at' => new DateTime, 'updated_at' => new DateTime]);
     DB::table('database1')->insert(['name' => 'Josef', 'created_at' => new DateTime, 'updated_at' => new DateTime]);
     DB::table('database2')->insert(['user_id' => '2', 'testdate' => new DateTime, 'testvalue' => '30']);
     DB::table('database2')->insert(['user_id' => '1', 'testdate' => new DateTime, 'testvalue' => '20']);
php artisan db:seed

 

Doctrine DBAL

Fehler beim Ändern der Datenbank:

[RuntimeException] 
Changing columns for table "users" requires Doctrine DBAL; install "doctrin 
e/dbal". 

Um in einer Datenbank bestimmte Felder ändern zu können, z.B.:

$table->string('name')->default("0")->change();

wird die Erweiterung doctrine/dbal benötigt:

composer require doctrine/dbal
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


Aktualisiert: 05.10.2017 von Bernhard

Top-Artikel in diesem Bereich

Preview Laravel Beispiel Tutorial - Schritt für Schritt

Laravel Beispiel Tutorial - Schritt für Schritt

geändert: 27.07.2020 von Bernhard (Erstveröffentlichung: 21.08.2016)

Wie in dem zuvor veröffentlichten Artikel "Übersicht Laravel Funktion" bereits angekündigt, habe ich für Laravel ein Praxis-Beispiel erstellt. Das Beispiel kann bestimmte Datenbankeinträge erstellen, anzeigen, bearbeiten und löschen. In einem nächsten Beispiel werde ich zu dem hier beschriebenen Beispiel eine Benutzeranmeldung und Berechtigung hinzufügen (Authentification, Authorization), vorerst starten wir ohne dieser .... ... weiterlesen

Preview Laravel Vue

Laravel Vue

erstellt: 29.10.2019 von Bernhard

.vue Files setzen ein Webpack-Setup voraus ... ... weiterlesen

Preview Laravel Authentication und Authorization Beispiel

Laravel Authentication und Authorization Beispiel

geändert: 06.10.2019 von Bernhard (Erstveröffentlichung: 12.09.2016)

Laravel ist für Benutzer-Anmeldungen bereits vorbereitet, das Aktivieren der Funktion erfolgt mit einem einfachen Befehl. ... weiterlesen


Fragen / Kommentare