代码之家  ›  专栏  ›  技术社区  ›  daveK

推进ORM数据装置

  •  3
  • daveK  · 技术社区  · 14 年前

    如果我有一个名为 mydata.yml

    User:
      anonymous:
        nickname: anonymous
        first_name: Anonymous
    
      david:
        nickname: david
        first_name: David
    

    我该如何告诉propel在哪里找到这个文件。我需要在 build.properties

    如何运行它将数据插入数据库(我已经完成了 propel-gen insert-sql ,我需要重复吗

    注意:我在一个php项目中使用的是推进,而不是Symfony项目,因此无法访问Symfony可能添加的任何设置(如果有的话)。

    2 回复  |  直到 14 年前
        1
  •  3
  •   oujesky    14 年前

    可以在单独的SQL文件中准备插入(例如 fixtures.sql )告诉推进队 sqldb.map 在处理 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命令,然后在项目中与pulpe一起使用。

        2
  •  2
  •   Jan Fabry    14 年前

    从fixtures加载数据是Symfony为推进添加的功能,它不是“核心”推进框架的一部分。所以如果不使用Symfony,就不能在没有其他代码的情况下加载数据。可能会将代码从 the sfPropelData class 这就完成了实际的加载,所以您可以在另一个框架中使用它。如果你成功了,请向公众发布你的代码,其他人可能也会喜欢!