ларавел

Ларавел Како додати колону у постојећу табелу

Ларавел Како додати колону у постојећу табелу

Проблем

Честа је ствар додавање нових колона у ваше миграције Ларавела. Апликације треба да буду скалабилне, што значи да додавање нових функција додатно развија вашу апликацију.

Врло често нови програмери Ларавел-а морају да покрену своје миграције, али не воде рачуна да се миграције могу вратити и мигрирати више пута, а да ништа не разбију.

Иако то није наш фокус, мислим да је било важно то рећи пре него што кренемо у наш проблем.

Следи уобичајени проблем који ће нови програмери Ларавел-а покушати да ураде када желе да додају нову колону у постојећу табелу.

У овом тренутку су већ урадили нешто попут:

јавна функција горе ()

Шема :: цреате ('организације', функција ($ табела)
$ табле-> инкременти ('ид');
$ табле-> стринг ('наме') -> нуллабле ();
$ табле-> тект ('абоут') -> нуллабле ();
);

Ово ће створити нову табелу за њих. Да бисте ово учинили чистим, требало би да додате и функцију надоле и у овом случају само испустите целу табелу. Функција надоле ће се покренути када желите да вратите миграцију уназад.

Прескачући све то, прави проблем се појављује када забораве једну колону и то желе да додају, па креирају нову датотеку за миграцију (класу), покушају да покрену нешто попут:

јавна функција горе ()

Шема :: цреате ('организације', функција ($ табела)
$ табле-> интегер ('сизе') -> нуллабле ();
);

Надају се да ће постојећој табели додати нову величину колоне.

Сада да видимо шта се догађа и како спречити да се то понови.

Решење

Главни проблем овде је оно што нови програмери често пропусте да примете које је статично име шеме . Креирајте само када првобитно креирате табелу. Ако требате да ажурирате табелу у било ком тренутку, уместо ње желите да користите табелу.

Дакле, стварна функција треба да буде овако:

јавна функција горе ()

Шема :: табела ('организације', функција ($ табела)
$ табле-> интегер ('сизе') -> нуллабле ();
);

А функција надоле би била овако:

јавна функција доле ()

Шема :: табела ('организације', функција ($ табела)
$ табле-> дропЦолумн ('сизе');
);

Мој лични предлог вам је да након креирања нове (променљиве) датотеке за миграцију урадите следеће:

Још један савет

Ово ће вам добро доћи касније ако желите да аутоматизујете своју примену и ако ваша скрипта треба да изврши враћање.

Још један савет који вам могу дати је да планирате где желите да поставите своју колумну. Само тако што ће урадити, Ларавел ће поставити вашу нову колону на крај, вероватно након колоне упдатед_ат. (Већина табела има ово)

Ако желите да користите методу, тако да би ваш коначни код изгледао овако:

јавна функција горе ()

Шема :: табела ('организације', функција ($ табела)
$ табле-> интегер ('сизе') -> афтер ('наме') -> нуллабле ();
);

У овом случају, Ларавел ће поставити вашу нову колону одмах иза колоне имена, тако да изгледа лепо и да је много боље организована.

Како променити поставке миша и додирне табле помоћу Ксинпут-а у Линук-у
Већина Линук дистрибуција подразумевано испоручује библиотеку „либинпут“ за обраду улазних догађаја на систему. Може да обрађује улазне догађаје и на ...
Замените тастере миша другачије за различити софтвер помоћу Кс-Моусе Буттон Цонтрол
Можда вам је потребан алат који би могао да промени контролу миша са сваком апликацијом коју користите. Ако је то случај, можете испробати апликацију ...
Преглед бежичног миша Мицрософт Сцулпт Тоуцх
Недавно сам читао о Мицрософт Сцулпт Тоуцх бежични миш и одлучио да га купи. Након што сам га неко време користио, одлучио сам да са њим поделим своје...