我目前正在构建一个在现有数据库上运行的新应用程序 - 该数据库已在生产中。这个新应用程序是在Laravel 4中构建的,并且有一些迁移可以进行所需的模式更改。
要求使用Percona Toolkits pt-online-schema-change
来发布架构更改,但是我无法在任何地方找到如何在迁移中使用它 - 只需标准的CLI界面。我需要一些方法将迁移中的架构更改与pt-online-schema-change
。
我不想放弃编写迁移或使用Laravel架构构建器带来的所有好处。我希望有一种简单的方法,我没有看到在其中使用Percona Toolkit。我曾想过使用exec()
,但如果可能,我更愿意避免这种情况。
当"谷歌搜索"在过去的几周里,我无法在迁移过程中找到任何类似于使用Percona Toolkit的东西。当然这是一个已经解决的问题?
如果我的方法存在缺陷,请告诉我! :)
答案 0 :(得分:3)
您可能会在迁移中执行此操作:
public function up()
{
exec('pt-online-schema-change --alter "ADD COLUMN c1 INT" D=sakila,t=actor', $output, $return);
if ( ! $return) {
throw \Exception('Error migrating '.__FILE__);
}
}