rainlab/builder-plugin

Feature request: Migrations for update columns

Closed this issue · 1 comments

Currently changing database field generate migration file, where original field was dropped (dropColumn) and new column is created. This will drop all data, thats will be fail from more point of view...

Update please to use $table->renameColumn instead.

In UP:
Schema::table('table_name', function(Blueprint $table) { $table->renameColumn('old_name', 'new_name'); });

In DOWN:
Schema::table('table_name', function(Blueprint $table) { $table->renameColumn('new_name', 'old_name'); });

Hi @snipiba

We may need more information on this one. Renaming a column uses renameColumn already:

<?php namespace October\Test\Updates;

use Schema;
use October\Rain\Database\Updates\Migration;

class BuilderTableUpdateOctoberTestMeta extends Migration
{
    public function up()
    {
        Schema::table('october_test_meta', function($table)
        {
            $table->renameColumn('robot_follow', 'robot_follow2');
        });
    }
    
    public function down()
    {
        Schema::table('october_test_meta', function($table)
        {
            $table->renameColumn('robot_follow2', 'robot_follow');
        });
    }
}