从laravel(tinker)编辑数据库列参数

时间:2016-07-07 09:07:30

标签: php database laravel artisan

所以我有数据库与表,我需要编辑一列,使其可以为空,具体。如何从php artisan tinker访问它,或者以某种方式在一个表上重新运行迁移而不会丢失数据?

3 个答案:

答案 0 :(得分: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();
        });
    }

}

在这种情况下,我们将名称设为nullable,默认值为null。

更多信息:https://laravel.com/docs/master/migrations#modifying-columns

答案 1 :(得分:0)

https://laravel.com/docs/5.2/migrations 你可以在这个网站上看到它的列修饰符

答案 2 :(得分:0)

如果要重新运行迁移或添加更改现有表格的新迁移,取决于您是在生产模式还是开发模式下进行编码。通常在开发模式下重新运行迁移可能是最佳选择(由于虚拟数据)。另一方面;在生产模式下,如果数据很重要..我们通常会添加更新现有表的新迁移(因为数据可能对我们很重要。)