【问题标题】:How to generate SQL from fixture YMLs in Symfony 1.0?如何从 Symfony 1.0 中的夹具 YML 生成 SQL?
【发布时间】:2009-03-10 22:56:35
【问题描述】:

我正在尝试构建一个脚本来自动化 symfony 项目的更新过程。例如。将任何补丁从一个修订版应用到另一个修订版,包括任何可能的模型更新和新装置,而无需重新加载整个数据库。

我已经完成了大部分工作,但是我无法找到一种方法来生成一个 SQL 文件,该文件包含在插入夹具时由推进加载数据执行的 INSERT 语句。

我知道我可以转储数据库来获取信息,但这不是重点,在我的情况下这不起作用,因为我需要一个没有其他数据的空数据库。

简而言之,我的问题是:有没有办法获取一个固定 YML 并生成必要的 SQL 插入?

我知道这可以通过处理 yml 和构建逻辑来完成,但构建过程在某处完成,没有理由再写一遍..

任何帮助将不胜感激。

【问题讨论】:

    标签: symfony1


    【解决方案1】:

    也许我没有正确理解您的问题,但是您不能只调用将固定装置加载到数据库中的任务,或者编写调用 sfPropelData::loadData() 的代码(我在这里假设 Propel)。

    $loader = new sfPropelData();
    $loader->loadData(sfConfig::get('sf_data_dir').'/fixtures');
    

    即使 sfPropelData 及其父 sfData 在加载夹具时也不会生成 sql 代码,而是使用 ORM 来生成(如 sfPropelData::loadDataFromArray() 所示。

    如果您详细解释了您的问题,以及为什么这个解决方案还不够,我也许可以提供帮助。

    【讨论】:

    • 嗨,感谢您的 cmets... 我的问题已在问题本身中概述:我正在尝试构建一个脚本来自动化 symfony 项目的更新过程。例如。将任何补丁从一个修订版应用到另一个修订版,包括任何可能的模型更新和新夹具,而无需重新加载整个数据库。谢谢!!
    猜你喜欢
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    相关资源
    最近更新 更多