mysql - Laravel Schema Builder 改变存储引擎

标签 mysql laravel laravel-4 schema storage-engines

我正在尝试更改表并将其存储引擎更改为 InnoDb。当我运行 php artisan migrate 时,它没有错误地完成。然而,当我检查 Sequel Pro 中的存储引擎时,没有任何改变。

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

最佳答案

既然@alexrussell 证实了我的看法,我几乎可以肯定你只能在使用 Schema::create() 创建表时定义存储引擎。
但是,您始终可以使用原始 SQL 作为最后的手段:

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

关于mysql - Laravel Schema Builder 改变存储引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27500322/

相关文章:

php - mysql看不见进程?

mysql - 一次声明多个外键和单独声明它们有什么区别?

mysql 如何恢复表的部分数据

php - 拉维尔/Symfony : unable to load the "app" configuration file

php - 优化用于插入、更新或删除关系的代码

orm - Laravel 4 Eloquent 能力

mysql - 将两个 SQL 查询与多个表连接起来

PHP Lumen 在 null 上调用成员函数 connection()

php - Laravel 4 Eloquent 获取站点名称

php - Laravel 数据透视表和模型事件