【问题标题】:Execute multiple laravel alter table migration queries in one?一次执行多个 laravel alter table 迁移查询?
【发布时间】:2017-10-27 07:05:57
【问题描述】:

有人知道是否有一种方法可以在一个查询中执行多个 Laravel 更改表迁移查询吗?

例如:

Schema::table('table', function (Blueprint $table) {
    $table->integer('column 1');
    $table->integer('column 2');
});

这将创建两个 ALTER 表查询。除了编写 SQL 查询之外,有没有一种方法可以在一个查询中完成所有操作。

【问题讨论】:

  • 我认为这不可能。我很好奇你为什么要这样做。有性能优势吗?
  • 其实是的,我刚刚做了测试。我创建了包含 1000 万条记录的表。一个查询中的更改比单独的更改查询之一花费的时间稍长。

标签: mysql laravel migration


【解决方案1】:

我意识到这个问题现在已经很老了,但没有得到回答。

我会说 Laravel 模式构建器更多的是为了方便和跨平台兼容性,而不是为了性能。

如果您想优化 ALTER 查询,我建议使用 DB 外观并编写原始 SQL。

Schema::table('table', function (Blueprint $table) {
    DB::statement('ALTER TABLE table DROP COLUMN a, DROP COLUMN a;');
});

【讨论】:

猜你喜欢
  • 2015-05-29
  • 1970-01-01
  • 2018-12-07
  • 1970-01-01
  • 2014-11-19
  • 1970-01-01
  • 1970-01-01
  • 2011-10-07
  • 1970-01-01
相关资源
最近更新 更多