laravel

Laravel Sarakkeen lisääminen olemassa olevaan taulukkoon

Laravel Sarakkeen lisääminen olemassa olevaan taulukkoon

Ongelma

Uusien sarakkeiden lisääminen Laravel-siirtoihin on yleinen asia. Sovellusten on tarkoitus olla skaalautuvia, mikä tarkoittaa, että uusien ominaisuuksien lisääminen kehittää sovellustasi edelleen.

Hyvin usein uusien Laravel-kehittäjien on suoritettava siirrot, mutta he eivät varmista, että siirrot voivat palata ja siirtyä useita kertoja rikkomatta mitään.

Vaikka se ei ole meidän painopiste, mielestäni oli tärkeää sanoa, että ennen kuin siirrymme ongelmaan.

Seuraava on yleinen asia, jonka uudet Laravel-kehittäjät yrittävät tehdä, kun he haluavat lisätä uuden sarakkeen olemassa olevaan taulukkoon.

Joten tässä vaiheessa he tekivät jo jotain:

julkinen toiminto ylös ()

Schema :: create ('organisaatiot', function ($ taulukko)
$ taulukko-> lisäykset ('id');
$ table-> merkkijono ('nimi') -> nullable ();
$ table-> text ('about') -> nullable ();
);

Tämä luo heille uuden taulukon. Ja jotta tämä olisi puhdas, sinun on myös lisättävä alas-toiminto ja pudottava koko pöytäsi tässä tapauksessa. Alas-toiminto suoritetaan, kun haluat palauttaa siirron.

Siitä huolimatta, todellinen ongelma ilmenee, kun he unohtavat yhden sarakkeen ja haluavat lisätä sen jälkeenpäin, jotta he luovat uuden siirtotiedoston (luokan) yrittää suorittaa jotain:

julkinen toiminto ylös ()

Schema :: create ('organisaatiot', function ($ taulukko)
$ taulukko-> kokonaisluku ('koko') -> mitätöitävä ();
);

He haluavat lisätä uuden sarakekoon olemassa olevaan taulukkoon.

Katsotaan nyt, mitä tapahtuu ja miten estää sitä toistumasta.

Ratkaisu

Suurin ongelma tässä on se, mitä uudet kehittäjät usein kaipaavat huomaamatta, mikä on skeeman staattinen menetelmä . Luomista käytetään vain, kun luot alun perin taulukon. Jos haluat päivittää taulukkoasi edelleen milloin tahansa, haluat käyttää sen sijaan taulukkoa.

Joten todellisen ylös-toiminnon pitäisi olla seuraava:

julkinen toiminto ylös ()

Schema :: taulukko ('organisaatiot', funktio ($ taulukko)
$ taulukko-> kokonaisluku ('koko') -> mitätöitävä ();
);

Ja alas-toiminto olisi seuraava:

julkinen tehtävä alas ()

Schema :: taulukko ('organisaatiot', funktio ($ taulukko)
$ table-> dropColumn ('koko');
);

Henkilökohtainen ehdotukseni sinulle on, että kun olet luonut uuden (muuttavan) siirtotiedoston, toimi seuraavasti:

Toinen vinkki

Tämä on kätevää myöhemmin, jos haluat automatisoida käyttöönoton ja komentosarjosi on suoritettava palautus.

Toinen vinkki, jonka voin antaa sinulle, on suunnitella mihin haluat sijoittaa sarakkeen. Vain tekemällä tämän Laravel sijoittaa uuden sarakkeen loppuun, luultavasti päivitetyn_at -sarakkeen jälkeen. (Useimmissa taulukoissa on tämä)

Haluat käyttää menetelmää sen jälkeen, jotta lopullinen koodisi näyttäisi tältä:

julkinen toiminto ylös ()

Schema :: taulukko ('organisaatiot', funktio ($ taulukko)
$ taulukko-> kokonaisluku ('koko') -> jälkeen ('nimi') -> mitätöitävä ();
);

Tässä tapauksessa Laravel sijoittaa uuden sarakkeen heti nimisarakkeen jälkeen, joten se näyttää hyvältä ja on järjestetty paljon paremmin.

OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...