Ich habe mehrere Threads darüber gelesen, aber immer noch nicht genau mein Problem. Also in der users
Tabelle habe ich eine Spalte mit dem Namen role
, die enum-Typ ist und zwei verfügbare Werte hat: 1 und 2. Ich setze 2 als Standard. Jetzt möchte ich es zum Beispiel auf 1 ändern. Ich habe eine neue Migration, lief php artisan migrate
und dieser Fehler auftritt:Tabellenstrukturen mit Migration ändern, ohne Daten zu verlieren?
[Illuminate\DatabaseQueryException]
SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'role' (SQL: alter table `u
sers` add `role` enum('1', '2') not null default '1')
[PDOException]
SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'role'
Hier ist Code in meinem CreateUsersTable Migrationsdatei:
$table->enum('role', ['1', '2'])->default('2');
Und ich tat das gleiche in der neuen UpdateUsersTable Migrationsdatei:
$table->enum('role', ['1', '2'])->default('1');
Und übrigens kann ich php artisan migrate:refresh
nicht verwenden, weil es alle meine Daten löschen wird. Wo mache ich falsch?
fallen diese Rolle Spalte und migrieren UpdateUsersTable –
http://stackoverflow.com/questions/20516514/updating-table-scheme-without-affecting-data-in-laravel?rq=1 beziehen sich auf diesen Beitrag –
@JagadeshaNH This löscht die gespeicherten Rollen Daten. –