Ich schreibe gerade eine Migration, um bestimmte Spalten in einer Tabelle zu nullable
erstellen. Für die Abwärtsfunktion möchte ich diese Spalten natürlich not nullable
wieder erstellen . Ich habe die Schema-Builder-Dokumente durchgesehen , aber keinen Weg gefunden, dies zu tun.
Jede Hilfe wäre dankbar.
php
sql
database-migration
laravel
bilalq
quelle
quelle
Antworten:
Vor Laravel 5 gab es keine native Laravel-Methode zum Ändern einer vorhandenen Tabellenspalte mithilfe des Schema-Generators. Sie müssten hierfür Rohabfragen verwenden.
Ab Laravel 5 können Sie jedoch Folgendes verwenden:
quelle
$table->string('colmn', 255)->nullable()->change();
aber das Gegenteil scheint nicht zu funktionieren ($table->string('colmn', 255)->change();
), daher müssen Sie hierfür noch rohe Datenbankabfragen verwendennullable(false)
funktioniert nicht für mich in Laravel 5.3 :(Ab Laravel 5 ist es möglich, dies nativ umzukehren - übergeben Sie einfach false als Argument an nullable ().
z.B
quelle
Führen Sie zuerst Folgendes aus:
composer require doctrine/dbal
Erstellen Sie dann eine Migration, die die Tabelle folgendermaßen ändert:
php artisan make:migration fix_whatever_table_name_here
quelle
Sie können die Spalte einfach ohne -> nullable () erneut deklarieren und -> change verwenden
quelle