我目前正在构建一个在现有数据库上运行的新应用程序--该数据库已经投入生产。这个新的应用程序是在Laravel 4中构建的,并进行了一些迁移,以进行所需的模式更改。
要求是使用Percona Toolkits pt-online-schema-change来发布模式更改,但是我在任何地方都找不到如何在迁移中使用它-只有标准的命令行界面。我需要一些方法将迁移和pt-online-schema-change中的模式更改联系在一起。
我不想失去编写迁移或使用Laravel模式构建器带来的所有好处。我希望有一种简单的方法,我没有看到在他们中使用Percona工具包。我曾考虑过使用exec(),但如果可能的话,我更愿意避免这样做。
在过去的几周里,当我周期性地“谷歌”时,我找不到任何类似于在迁移中使用Percona Toolkit的东西。这肯定是已经解决的问题了吧?
如果我的方法有缺陷,请告诉我!:)
发布于 2014-04-30 06:39:51
您可能能够在迁移中像这样执行它:
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__);
}
}https://stackoverflow.com/questions/23359508
复制相似问题