Problem
Jeg har haft mareridt, der ikke har kunnet tilføje en ny kolonne til min brugere
bord. Kan ikke synes at finde ud af det.
Jeg forsøgte at redigere migreringsfilen ved hjælp af ..
offentlig funktion op ()Skema :: Opret ('brugere', funktion ($ tabel)
$ tabel-> heltal ("betalt");
);
I terminalen udfører jeg php artisan migrere: installer
og migrere
.
Hvordan tilføjer jeg nye kolonner?
Opløsning
Du kan ikke opdatere migreringer, der allerede er migreret. Hvis det allerede er føjet til migreringstabellen, behandler det det ikke igen. Din løsning er at oprette en ny migration, som du kan bruge migrere: lav
kommando på Artisan CLI. Brug et specifikt navn for at undgå sammenstød med eksisterende modeller
til Laravel 5+:
php håndværkerfabrik: migration add_paid_to_users_table --table = brugereDu bruger metoden Schema :: table () (da du har adgang til den eksisterende tabel og ikke opretter en ny). Og du kan tilføje en kolonne som denne:
offentlig funktion op ()Skema :: tabel ('brugere', funktion ($ tabel)
$ tabel-> heltal ('betalt');
);
og glem ikke at tilføje tilbageførselsindstillingen:
offentlig funktion ned ()Skema :: tabel ('brugere', funktion ($ tabel)
$ tabel-> dropColumn ('betalt');
);
Derefter kan du køre dine migrationer:
php håndværker migrereOg for Laravel 5:
- Schema Builder
- Migrationer
Redigere:
brug $ table-> heltal ('betalt') -> efter ('any_column');
for at tilføje dette felt efter en bestemt kolonne.