Laravel 5.1: Aktivieren Sie SQLite-Fremdschlüsseleinschränkungen

7

In SQLite sind Fremdschlüsseleinschränkungen standardmäßig deaktiviert .

Wie konfiguriere ich die SQLite-Datenbankverbindung von Laravel 5.1 am besten, um Fremdschlüsseleinschränkungen zu aktivieren? Ich sehe keinen Weg, dies zu tun ['connections']['sqlite'] in /config/database.php .

    
TachyonVortex 05.07.2015, 09:31
quelle

4 Antworten

15

Hier ist eine Lösung. In dem boot() Methode von App\Providers\AppServiceProvider , hinzufügen:

%Vor%

Danke an @RobertTrzebinski für diesen Blogbeitrag zu Laravel 4.

    
TachyonVortex 05.07.2015 09:31
quelle
6

Ich habe einen Fehler in der Fassade DB in App \ Providers \ AppServiceProvider in Laravel 5.2 verwendet. Hier ist meine Lösung:

%Vor%     
vivanov 20.01.2016 14:16
quelle
0

Sie können Fremdschlüssel auch pro Test (Datei) aktivieren, wenn die Tests tatsächlich von Tabellen mit Fremdschlüsseln abhängen.

Hier ist ein Merkmal: (z. B. tests/ForeignKeys.php )

%Vor%

Vergessen Sie nicht, die Methode irgendwo in Ihrer Test-Setup-Kette auszuführen. Ich habe meine Testversion als Überschreibung zu meinem Testfall hinzugefügt: ( tests/TestCase.php )

%Vor%

Danach können Sie es wie folgt zu Ihren Tests hinzufügen:

%Vor%     
Alex Man 13.09.2017 10:15
quelle
0

Da ich dies nur in meinen Tests, aber in allen Tests verwenden möchte, endete ich mit einer einfachen Implementierung in der Tests\TestCase -Klasse wie folgt:

%Vor%

Das funktioniert wie ein Zauber: -)

    
bambamboole 02.03.2018 15:29
quelle