Laravel Schema Builder alter storage engine

给你一囗甜甜゛ 提交于 2019-12-10 13:36:32

问题


I am trying to alter a table and change it's storage engine to InnoDb. When I run php artisan migrate it completes without error. However when I check the storage engine in Sequel Pro, nothing is changed.

public function up()
{
    Schema::table('tests', function(Blueprint $t) {
        $t->engine = 'InnoDB';
        $t->foreign('group_id')->references('id')->on('test_groups')->onDelete('restrict');
    });
}

回答1:


Since @alexrussell confirmed my believe, I'm almost certain you can only define the storage engine when you create the table with Schema::create().
However you can always use raw SQL as a last resort:

DB::statement('ALTER TABLE tests ENGINE = InnoDB');


来源:https://stackoverflow.com/questions/27500322/laravel-schema-builder-alter-storage-engine

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!