我正在尝试使用 laravel 5.6 更改列数据类型。
我有一个表,其中两列的数据类型为 text
但我想把它改成 longtext
.我试过以下:
composer require doctrine/dbal
composer dump-autoload
...然后创建迁移
2019_12_23_065820_change_response_column_data_type_in_log_requests_table.php
为
log_requests
table 。
...然后是以下脚本
public function up()
{
Schema::table('log_requests', function (Blueprint $table) {
$table->longText('request')->nullable()->change();
$table->longText('response')->nullable()->change();
});
}
但它不会改变列的数据类型。有人可以指导我吗?我哪里错了,以便我可以修复它?谢谢你。
已编辑
在评论中请求迁移后,我添加了迁移脚本:
public function up()
{
Schema::create('log_requests', function (Blueprint $table) {
$table->increments('id');
$table->bigInteger('user_id')->nullable()->unsigned();
$table->string('api_name')->nullable();
$table->string('url')->nullable();
$table->string('method')->nullable();
$table->string('ip_address')->nullable();
$table->string('status_code')->nullable();
$table->string('duration')->nullable();
$table->text('request')->nullable();
$table->text('response')->nullable();
$table->timestamps();
});
}
请您参考如下方法:
只需更改列注释,例如:
$table->mediumText('myColumn')->comment(' ')->change(); // up
$table->text('myColumn')->comment('')->change(); // down