Миграции Laravel изменяют тип столбца с varchar на longText
Мне нужно изменить тип столбца миграции $table->string('text');
для текстового типа я попытался сделать это несколькими способами, но ни один из них не работал. Возможно ли это сделать за одну миграцию. Я мог бы, наверное, удалить столбец, а затем создать его снова с новым типом, но мне интересно, можно ли сделать это за одну миграцию?
3 ответов
Да, вы можете создать новую миграцию и изменить только один столбец типа:
public function up()
{
Schema::table('sometable', function (Blueprint $table) {
$table->text('text')->change();
});
}
по данным Laravel Doc
вы можете сделать это как
Schema::table('yourTable', function (Blueprint $table) {
$table->text('text')->change();
});
обязательно добавьте зависимость doctrine/dbal к вашему композитору.файл json
Это можно сделать с миграцией таблицы.
как упоминалось в других сообщениях, обязательно запустите composer install doctrine/dbal
из корня проекта.
Они настроены с:
php artisan make:migration alter_table_[yourtablenamehere]_change_[somecolumnname] --table=[yourtablenamehere]
из корневого проекта.
из документации:
https://laravel.com/docs/master/migrations#modifying-columns
class AlterTableSomething extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('table', function (Blueprint $table) {
$table->text('column_name')->change();
});
}
}