【问题标题】:Using pt-online-schema-change within a migration在迁移中使用 pt-online-schema-change
【发布时间】:2014-06-15 02:04:59
【问题描述】:

我目前正在构建一个在现有数据库上运行的新应用程序 - 该数据库已经投入生产。这个新应用是在 Laravel 4 中构建的,并进行了一些迁移以进行所需的架构更改。

要求是使用 Percona Toolkits pt-online-schema-change 来发布架构更改,但是我在任何地方都找不到如何在迁移中使用它——只有标准的 CLI 界面。我需要一些方法将迁移中的架构更改与pt-online-schema-change 联系在一起。

我不想失去编写迁移或使用 Laravel 架构构建器带来的所有好处。我希望有一种我看不到的简单方法可以在其中使用 Percona Toolkit。我曾想过使用exec(),但如果可能的话,我宁愿避免这种情况。

在过去几周定期“谷歌搜索”时,我找不到任何类似于在迁移中使用 Percona Toolkit 的东西。确定这是一个已经解决的问题吗?

如果我的方法有缺陷,请告诉我! :)

【问题讨论】:

    标签: php mysql laravel migration percona


    【解决方案1】:

    您可能可以在迁移中像这样执行它:

    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__);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-13
      • 2015-04-04
      • 1970-01-01
      • 2015-08-28
      • 2012-01-15
      相关资源
      最近更新 更多