2016-07-07 2 views
0

Итак, у меня есть база данных с таблицей, где мне нужно отредактировать один столбец, сделать его нулевым, чтобы быть конкретным. Как я могу получить к нему доступ из php artisan tinker или, возможно, каким-то образом повторно запустить миграцию на одной таблице, не теряя при этом данные?Редактировать параметры столбца базы данных из laravel (tinker)

ответ

2

С помощью перемычки вы не можете изменить таблицу схем. Вам необходимо создать миграцию следующим образом:

<?php 

use Illuminate\Database\Schema\Blueprint; 
use Illuminate\Database\Migrations\Migration; 

class AlterTableUsers extends Migration 
{ 
    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::table('users', function ($table) { 
      $table->string('name', 50)->nullable()->default(null)->change(); 
     }); 
    } 

} 

В этом случае мы делаем имя нулевым по умолчанию значением null.

Подробнее: https://laravel.com/docs/master/migrations#modifying-columns

+0

большое спасибо, не смог найти ее в документах для меня причина – Coffee

+0

Рад помочь вам! – Sangar82

0

Если вы хотите, чтобы повторно запустить миграцию или добавить новую миграцию, которая изменяет существующую таблицу, зависит от того, кодирование вы сверху производство режим или развитие режим. Обычно в режиме разработки повторная миграция может быть лучшим вариантом (из-за фиктивных данных). С другой стороны; в режиме производства, если данные важны. Обычно мы добавляем новую миграцию, которая обновляет существующую таблицу (поскольку данные могут быть важны для нас ..)

Смежные вопросы