Saya sedang menulis migrasi untuk membuat kolom tertentu dalam tabel nullable
sekarang. Untuk fungsi down tentunya saya ingin membuat kolom-kolom tersebut not nullable
lagi. Saya telah memeriksa dokumen pembuat skema , tetapi tidak dapat menemukan cara untuk melakukannya.
Bantuan apa pun akan dihargai.
php
sql
database-migration
laravel
bilalq
sumber
sumber
Jawaban:
Sebelum Laravel 5, tidak ada cara asli Laravel untuk mengubah kolom tabel yang sudah ada menggunakan pembuat skema. Anda perlu menggunakan kueri mentah untuk ini.
Namun, pada Laravel 5 Anda dapat menggunakan:
sumber
$table->string('colmn', 255)->nullable()->change();
tetapi sebaliknya tampaknya tidak berfungsi ($table->string('colmn', 255)->change();
), jadi Anda masih perlu menggunakan kueri db mentah untuk ininullable(false)
tidak bekerja untuk saya di Laravel 5.3 :(Pada Laravel 5, dimungkinkan untuk membalikkan ini secara asli - cukup berikan false sebagai argumen ke nullable ().
misalnya
sumber
Jalankan pertama ini:
composer require doctrine/dbal
Kemudian buat migrasi yang akan mengubah tabel seperti ini:
php artisan make:migration fix_whatever_table_name_here
sumber
Anda bisa mendeklarasikan kolom lagi tanpa -> nullable () dan menggunakan -> ubah
sumber