Problém
Měl jsem noční můry, protože jsem nemohl přidat nový sloupec uživatelů
stůl. Zdá se, že na to nedokážu přijít.
Pokusil jsem se upravit migrační soubor pomocí…
veřejná funkce nahoru ()Schéma :: create ('users', function ($ table)
$ table-> integer ("paid");
);
V terminálu provádím php artisan migrate: install
a migrovat
.
Jak přidám nové sloupce?
Řešení
Nelze aktualizovat žádné migrace, které již byly migrovány. Pokud je již do migrační tabulky přidán, nebude jej znovu zpracovávat. Vaše řešení je vytvořit novou migraci, pro kterou můžete použít migrovat: udělat
příkaz na Artisan CLI. Použijte konkrétní název, abyste zabránili střetům s existujícími modely
pro Laravel 5+:
php artisan make: migration add_paid_to_users_table --table = usersBudete používat metodu Schema :: table () (protože přistupujete ke stávající tabulce a nevytváříte novou). A můžete přidat sloupec takto:
veřejná funkce nahoru ()Schéma :: tabulka ('uživatelé', funkce ($ tabulka)
$ table-> integer ('paid');
);
a nezapomeňte přidat možnost vrácení zpět:
veřejná funkce dolů ()Schéma :: tabulka ('uživatelé', funkce ($ tabulka)
$ table-> dropColumn ('paid');
);
Pak můžete spustit migrace:
php řemeslník migrovatA pro laravel 5:
- Tvůrce schématu
- Migrace
Upravit:
použití $ table-> integer ('paid') -> after ('any_column');
přidat toto pole za konkrétní sloupec.