如何在Symfony 4中定义整个数据库架构?

时间:2019-01-26 12:34:12

标签: symfony doctrine symfony4

在Symfony 4中是否可以一次性定义完整的数据库架构?

我了解可以使用make:entitymake:migration命令创建单个实体/对象,但是我想知道是否可以一次定义整个架构,然后使用它来构建关联的实体和数据库。

我记得在早期版本的Symfony中,可以在YAML文件中定义整个架构,然后发出构建命令。

1 个答案:

答案 0 :(得分:2)

是的,您可以使用Doctrine配置中任何受支持的映射格式(例如YAML或XML)和declare mappings location来创建完整的数据库架构映射。之后,您将可以使用任何教义console tools来生成和更新架构。您还可以使用工具从已有的数据库进行reverse engineering映射,并在格式之间进行convert映射

请注意,Symfony应用程序中的Doctrine命令名称与Doctrine本地提供的名称不同。您需要使用:

  • doctrine:schema:validate用于架构验证
  • doctrine:schema:create用于初始模式生成,并根据需要根据doctrine:schema:update--dump-sql进行--force的后续调用
  • doctrine:mapping:convert用于对可用数据库进行反向工程(使用--from-database选项),或者在需要时在映射类型之间进行转换。