Database 什么';s生成迁移数据库和生成迁移模型之间的区别
两者的区别是什么Database 什么';s生成迁移数据库和生成迁移模型之间的区别,database,symfony1,doctrine,migration,symfony-1.4,Database,Symfony1,Doctrine,Migration,Symfony 1.4,两者的区别是什么 symfony doctrine:generate-migrations-db 及 我没有注意到任何区别:我试过使用DB中的表,没有schema.yml,也没有模型,它们都没有效果。没有生成迁移 我试过使用DB中的表,生成schema.yml,但没有模型,它们都没有效果。没有生成迁移 最后,我尝试了DB中的表、GENERATED schema.yml和GENERATED models,现在它们都生成了相同的迁移类:| 我真的不明白其中的区别。或者至少,考虑到所有场景,开始使用
symfony doctrine:generate-migrations-db
及
我没有注意到任何区别:我试过使用DB中的表,没有schema.yml,也没有模型,它们都没有效果。没有生成迁移
我试过使用DB中的表,生成schema.yml,但没有模型,它们都没有效果。没有生成迁移
最后,我尝试了DB中的表、GENERATED schema.yml和GENERATED models,现在它们都生成了相同的迁移类:|
我真的不明白其中的区别。或者至少,考虑到所有场景,开始使用迁移的最佳方式是什么:有模型但没有数据库,有数据库但没有模型
谢谢。给定一个包含1+个表的现有数据库,正在运行
./symfony doctrine:generate-migrations-db
./symfony doctrine:generate-migrations-models
将导致为每个表创建迁移文件。类似地,给定一个类似于/lib/model/doctor
的目录,其中填充了预先存在的模型类,运行
./symfony doctrine:generate-migrations-db
./symfony doctrine:generate-migrations-models
将导致为每个模型创建migraiton文件
对于数据库中的表,无论是否包含schema.yml内容,并且lib/model/doctor
中没有模型,您只需确保您的database.yml文件具有正确连接到数据库的凭据
一旦您发现迁移文件无法生成的问题,我将做的是开始迁移
/symfony原则:构建模式
config/databases.yml
以指向新的空白数据库/symfony原则构建迁移:生成迁移差异。这将基于您的架构文件创建迁移,以使(空白)数据库保持最新
/symfony原则:迁移并观察错误。通过修复模式文件来修复它们。删除在步骤4中创建的迁移。刷新数据库/symfony原则:删除数据库&&./symfony原则:构建数据库
,然后返回步骤4。继续,直到您确定架构生成了一组干净的迁移文件,这些文件可以正常运行
/symfony原则重建模型:构建--模型--表单--过滤器
schema.yml
文件,可以使空白数据库更新的干净迁移,以及与schema.yml
文件和数据库直接相关的模型
当您想对数据库进行新的更改时,现在只需
schema.yml中进行所需的更改
/symfony原则:生成迁移差异
/symfony原则:migrate
,确保迁移运行无误/symfony原则:构建--模型--表单--过滤器