在Symfony 4中是否可以一次性定义完整的数据库架构?
我了解可以使用make:entity
和make:migration
命令创建单个实体/对象,但是我想知道是否可以一次定义整个架构,然后使用它来构建关联的实体和数据库。
我记得在早期版本的Symfony中,可以在YAML文件中定义整个架构,然后发出构建命令。
答案 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
选项),或者在需要时在映射类型之间进行转换。