这是解释“generate-migrations-db”作用的遗留文档:
http://symfony.com/legacy/doc/doctrine/1_2/en/07-Migrations
它说
Generate migration classes from existing database connections (doctrine-generate-migrations-db, doctrine-gen-migrations-from-db)
还有:
Generating Migrations
Doctrine offers the ability to generate sets of migration classes for existing databases or existing models as well as generating blank migration classes for you to fill in with the code to make your schema changes.
From Database
If you have an existing database you can build a set of migration classes that will re-create your database by running the following command.
$ ./symfony doctrine:generate-migrations-db
换句话说:它从数据库中获取模式并生成执行该模式创建的迁移。在此过程中不使用实体、类、映射。它只需要一个数据库并构建一个迁移类。
我们不再有 generate-migrations-db
。我们有执行该任务的东西吗?我找不到。如果它被其他命令取代,请告诉我。如果刚刚删除,请告知。
最佳答案
我不知道 Doctrine 或 Migrations Bundle 中有为现有数据库创建迁移文件的命令。
所以我是这样做的:
- 安装 DoctrineMigrationsBundle
- 创建一个新的空白数据库
- 更新您的配置或参数以指向这个空白数据库而不是您的“真实”数据库
- 运行
php app/console doctrine:migrations:diff
。这将创建一个迁移文件,从头开始创建您的数据库表等 - 改回你的配置/参数
希望对您有所帮助。
关于php - 在 Symfony 2/Doctrine 2 中是否有 "generate-migrations-db"等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18053188/