如果我有一个名为 mydata.yml
的 yml 数据夹具文件
User:
anonymous:
nickname: anonymous
first_name: Anonymous
david:
nickname: david
first_name: David
我如何告诉 propel 在哪里可以找到这个文件。我是否需要向 build.properties
以及如何运行它以将数据插入数据库(我已经完成了 propel-gen insert-sql
,我是否需要重复它或其他内容)
注意:我在 php 项目而不是 Symfony 项目中使用 Propel,因此无法访问 Symfony 可能添加的任何设置。
最佳答案
您可以在单独的 SQL 文件(例如 fixtures.sql
)中准备插入,并在文件 sqldb.map
中告诉 Propel在处理 propel-gen insert-sql
时运行它命令。
sqldb.map
的内容可能看起来像这样:
# Sqlfile -> Database map
schema.sql=yourdatabasename
fixtures.sql=yourdatabasename
sqldb.map
文件在 propel.sql.dir
指定的目录中创建在线 build.properties
文件。
理论上,你可以在某处运行 Symfony 沙箱,让它将 yml 格式的 fixture 转换为 SQL 命令,然后在你的项目中与 Propel 一起使用。
关于database - 插入 ORM 数据固定装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4001069/