J'écris une migration pour créer certaines colonnes dans une table en nullable
ce moment. Pour la fonction down, je veux bien sûr créer à not nullable
nouveau ces colonnes . J'ai parcouru la documentation du générateur de schéma , mais je n'ai pas trouvé de moyen de le faire.
Toute aide serait appréciée.
php
sql
database-migration
laravel
bilalq
la source
la source
Réponses:
Avant Laravel 5, il n'existait aucun moyen natif Laravel de modifier une colonne de table existante à l'aide du générateur de schéma. Vous auriez besoin d'utiliser des requêtes brutes pour cela.
Cependant, à partir de Laravel 5, vous pouvez utiliser:
la source
$table->string('colmn', 255)->nullable()->change();
mais l'inverse ne semble pas fonctionner ($table->string('colmn', 255)->change();
), vous devez donc toujours utiliser des requêtes de base de données brutes pour celanullable(false)
ne fonctionne pas pour moi dans Laravel 5.3 :(À partir de Laravel 5, il est possible d'inverser cela de manière native - il suffit de passer false comme argument à nullable ().
par exemple
la source
Exécutez d'abord ceci:
composer require doctrine/dbal
Ensuite, créez une migration qui modifiera la table comme ceci:
php artisan make:migration fix_whatever_table_name_here
la source
Vous pouvez simplement déclarer à nouveau la colonne sans -> nullable () et utiliser -> changer
la source