3

这是解释“generate-migrations-db”作用的遗留文档:

http://symfony.com/legacy/doc/doctrine/1_2/en/07-Migrations

它说

从现有数据库连接生成迁移类(doctrine-generate-migrations-db、doctrine-gen-migrations-from-db)

还:

产生迁移

Doctrine 提供了为现有数据库或现有模型生成迁移类集的能力,以及为您生成空白迁移类以填充代码以进行架构更改的能力。

从数据库

如果您有一个现有的数据库,您可以构建一组迁移类,这些迁移类将通过运行以下命令重新创建您的数据库。

$ ./symfony doctrine:generate-migrations-db

换句话说:它从数据库中获取模式并生成执行该模式创建的迁移。在此过程中不使用实体、类和映射。它只需要一个数据库并构建一个迁移类。

我们没有generate-migrations-db了。我们有执行该任务的东西吗?我找不到。如果它被其他命令替换,请告诉我。如果它刚刚被删除,请告知。

4

2 回答 2

6

我不知道 Doctrine 或 Migrations Bundle 中为现有数据库创建迁移文件的命令。

所以我是这样做的:

  1. 安装 DoctrineMigrationsBundle
  2. 创建一个新的空白数据库
  3. 更新您的配置或参数以指向这个空白数据库而不是您的“真实”数据库
  4. 运行php app/console doctrine:migrations:diff。这将创建一个迁移文件,从头开始创建您的数据库表等
  5. 改回你的配置/参数

希望这会有所帮助。

于 2013-10-15T09:54:33.513 回答
1

看看DoctrineMigrationsBundle,它可以生成带有 sql 语句的迁移类进行迁移。

于 2013-08-05T08:09:47.970 回答