Problem
Jeg har hatt mareritt som ikke kunne legge til en ny kolonne til min Brukere
bord. Ser ikke ut til å finne ut av det.
Jeg prøvde å redigere migrasjonsfilen ved hjelp av ..
offentlig funksjon opp ()I terminalen utfører jeg PHP Artisan Migrate: Installer
og migrere
.
Hvordan legger jeg til nye kolonner?
Løsning
Du kan ikke oppdatere migrasjoner som allerede er migrert. Hvis det allerede legges til migrasjonstabellen, vil det ikke bearbeide det igjen. Løsningen din er å lage en ny migrasjon, som du kan bruke Migrere: Make
Kommando på håndverkeren CLI. Bruk et spesifikt navn for å unngå å kollidere med eksisterende modeller
For Laravel 5+:
PHP Artisan Make: Migration add_paid_to_users_table --table = brukereDu vil bruke skjemaet :: tabell () -metoden (siden du får tilgang til den eksisterende tabellen, og ikke oppretter en ny). Og du kan legge til en kolonne som denne:
offentlig funksjon opp ()Og ikke glem å legge til alternativet Rollback:
offentlig funksjon ned ()Da kan du kjøre migrasjonene dine:
PHP Artisan migrererOg for Laravel 5:
Redigere:
bruk $ tabell-> heltall ('betalt')-> etter ('any_column');
For å legge til dette feltet etter spesifikk kolonne.