par*_*oid 1 php mysql migrate rollback laravel-5.1
我是Laravel的初学者.我使用migrate在数据库中创建表,但我不想migrate:rollback更新我的表.
我想在旧数据库中应用更改而不会丢失当前数据.
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
Run Code Online (Sandbox Code Playgroud)
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('family');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
Run Code Online (Sandbox Code Playgroud)
据我所知,这是不可能的,也不是迁移的意图.我认为有两种方法可以解决这个问题:
如果您尚未投入生产,则可以更改迁移脚本并使用mysql手动添加其他列:
alter table users add column family varchar(255);
Run Code Online (Sandbox Code Playgroud)如果需要更新高效数据库,则应添加第二个迁移脚本,仅添加其他列,例如:
public function up()
{
Schema::table('users', function(Blueprint $table)
{
$table->string('family')->after('user_id');
});
}
public function down()
{
Schema::table('users', function(Blueprint $table)
{
$table->dropColumn('family');
});
}
Run Code Online (Sandbox Code Playgroud)