Próba ustawienia migracji, która spowoduje, że moje istniejące pole "aktywne" będzie miało domyślną wartość "1".Aktualizacja programu Laravel Schema Builder Wartość domyślna
widzę w docs mogę używać coś takiego:
$table->integer('active')->default(1);
ale próbowałem to w moim migracji bez powodzenia, myślę, ponieważ pole już istnieje. Czy istnieje sposób prawidłowego zarządzania istniejącymi polami za pomocą kreatora schematów?
Moja obecna migracja:
public function up()
{
Schema::table('scores', function($table){
$table->integer('active')->default(1);
});
}
Edit:
Z tego, co mam do tej pory przeczytać, to nie można zrobić z konstruktora zapytań. Ale gdy próbuję uruchomić surowego zapytanie:
DB::query("ALTER TABLE `scores` CHANGE COLUMN `active` `active` int(11) NOT NULL DEFAULT '1';");
Dostaję „metoda«zapytanie»does not exist błąd”, więc zgaduję, nazwa ta została zmieniona metoda po prostu nie mogę znaleźć to, co została zmieniona na
Ponieważ nie zmieniają nazwę kolumny zamiast ZMIENIĆ KOLUMNĘ możesz użyć MODIFY COLUMN i pominąć secon d aktywne w wyciągu. Nowe zdanie w następujący sposób: DB :: instrukcja ("ALTER TABLE score MODIFY COLUMN active int (11) NOT NULL DEFAULT" 1 ";"); 'stackoverflow.com/a/14767467/788445 – Jon