J'écris une migration pour créer certaines colonnes d'une table nullable
maintenant. Pour la fonction down, je souhaite bien sûr redéfinir ces colonnes not nullable
. J'ai parcouru la schema builder docs , mais je ne voyais pas comment faire.
Toute aide serait appréciée.
Avant Laravel 5, il n'existait aucune méthode native de Laravel pour modifier une colonne de table existante à l'aide du générateur de schéma. Vous devez utiliser des requêtes brutes pour cela.
Cependant, à partir de Laravel 5, vous pouvez utiliser:
$table->...->nullable(false)->change();
A partir de Laravel 5, il est possible d’inverser cela de manière native - il suffit de passer false comme argument à nullable ().
par exemple.
$table -> string('foo') -> nullable(false) -> change();
D'abord exécuter ceci:
composer require doctrine/dbal
Créez ensuite une migration qui modifiera la table de la manière suivante:
php artisan make:migration fix_whatever_table_name_here
public function up()
{
Schema::table('table_name', function (Blueprint $table) {
$table->type('column')->nullable(false)->change();
});
}
public function down()
{
Schema::table('table_name', function ($table) {
$table->dropColumn('column');
});
}