Aus Laravel 11 Migration: Erhaltung der ursprünglichen Attribute bei der Aktualisierung der vorhandenen Spalte

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Aus Laravel 11 Migration: Erhaltung der ursprünglichen Attribute bei der Aktualisierung der vorhandenen Spalte

by Anonymous » 13 Apr 2025, 10:06

Ausgehend von Laravel 11 (und in Laravel 12 unverändert) müssen Migrationen in solchen Fällen alle Attribute einer Spalte einbeziehen, selbst diejenigen, die nicht geändert werden. Andernfalls gehen diese Attribute verloren. Dies ist jedoch eine Herausforderung für mich, da ich nicht alle Attribute der Spalte ständig nachschlagen und sie explizit definieren möchte. Standard- und Kommentarattribute: < /p>

Code: Select all

Schema::create('users', function (Blueprint $table) {
$table->integer('votes')->unsigned()->default(1)->comment('The vote count');
});
< /code>
später schreiben Sie eine Migration, die die Spalte so ändert, dass dies
nullbar ist: < /p>
Schema::table('users', function (Blueprint $table) {
$table->integer('votes')->nullable()->change();
});
< /code>
In Laravel 10 würde diese Migration die nicht signierten, standardmäßigen und
Kommentarattribute in der Spalte beibehalten. In Laravel 11 muss die
-Migration nun auch alle Attribute enthalten, die früher in der Spalte definiert wurden. Andernfalls werden sie fallen gelassen: < /p>
Schema::table('users', function (Blueprint $table) {
$table->integer('votes')
->unsigned()
->default(1)
->comment('The vote count')
->nullable()
->change();
});
< /code>
< /blockquote>
Wie kann ich die ursprünglichen Spalten-Settings bei der Aktualisierung der Attribute einer vorhandenen Spalte in einer Migration von Laravel 11?Schema::table('users', function (Blueprint $table) {
$table->integer('votes')->nullable()->change();
});
Das erwartete Ergebnis ist, dass neben der Einstellung der Spalte auf nullable automatisch auch die unsignierten , Standard (1) und Kommentar Werte beibehält. Und ich möchte nicht einmal den Spaltentyp nach einer so geringfügigen Änderung nachschlagen-ob es sich um eine Zeichenfolge, eine Ganzzahl usw., seine genaue Länge usw. handelt.

Top