Ho un blog per il quale il tavolo articles
Schema
si definisce in questo modo:Rimuovere colonna dal database in laravel 5.2
public function up()
{
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->string('title');
$table->string('thumb')->nullable();
$table->text('excerpt');
$table->text('body');
$table->string('slug')->unique();
$table->integer('comment_count')->unsigned()->default(0);
$table->integer('view_count')->unsigned()->default(0);
$table->timestamps();
$table->softDeletes();
}
public function down()
{
Schema::drop('articles');
}
voglio far cadere le colonne comment_count
e view_count
senza perdere i dati esistenti nella tabella
ho definito una nuova migrazione come questo:
class RemoveCommentViewCount extends Migration
{
public function up()
{
//nothing here
}
public function down()
{
Schema::table('articles', function($table) {
$table->dropColumn('comment_count');
$table->dropColumn('view_count');
});
}
}
e ho fatto php artisan migrate
. È migrato correttamente, ma le due colonne non sono state eliminate.
Cosa sto sbagliando? Come posso rilasciare quelle colonne senza perdere i dati esistenti nella tabella?
come indicato da @ Sangar82, i è il metodo 'up()' che viene attivato quando si esegue 'php artisan migrate'. Il metodo 'down()' viene attivato nel caso in cui si esegua un 'migrate: refresh' o un 'rollback' come spiegato di seguito. – daneczech