代码之家  ›  专栏  ›  技术社区  ›  Timo Haberkern

有没有办法通过条令迁移来更改MySQL数据库引擎?

  •  1
  • Timo Haberkern  · 技术社区  · 16 年前

    有人知道如何编写一个条令迁移来将mysql数据库的表引擎从myisam更改为innodb吗?这可以通过迁移来管理,还是必须通过SQL语句以旧的方式来管理?

    3 回复  |  直到 14 年前
        1
  •  1
  •   DuoSRX    16 年前

    不幸的是,您只能创建、重命名或删除带有条令迁移的表。
    你必须用老式的方法来做这件事:)

    检查 Doctrine Documentation .

        2
  •  2
  •   Bryan M.    16 年前

    您可能需要调查的2.0版本 Doctrine Migrations . 它不能与条令1.2中的迁移兼容,但是您可以在任何数据库中使用它,而不必使用条令2 ORM。

    不管怎样,使用这个版本,它很简单:

    $this->addSql('ALTER TABLE mytable ENGINE=INNODB');
    
        3
  •  2
  •   CamelBlues    14 年前

    有一种方法可以通过迁移来实现(我使用的是条令1.2):

    public function up()
    {
      $q = Doctrine_Manager::getInstance()->getCurrentConnection();
      $q->execute("ALTER TABLE foo ENGINE = MyISAM");
    }
    
    推荐文章