Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 以CSV以外的格式分解加载数据_Sql_Json_Liquibase - Fatal编程技术网

Sql 以CSV以外的格式分解加载数据

Sql 以CSV以外的格式分解加载数据,sql,json,liquibase,Sql,Json,Liquibase,使用Liquibase提供的加载数据选项,可以指定CSV格式的种子数据。是否有一种方法可以提供Liquibase可以理解的JSON或XML文件数据 用例是我们试图放入一些分层的样本数据。例如,类别-子类别关系,需要为所有相关类别输入父id。如果有办法避免通过JSON将ID包含在种子数据中 { "MainCat1": ["SubCat11", "SubCat12"], "MainCat2": ["SubCat21", "SubCat22"] } 很可能这是不受支持的(不能让谷歌帮

使用Liquibase提供的加载数据选项,可以指定CSV格式的种子数据。是否有一种方法可以提供Liquibase可以理解的JSON或XML文件数据

用例是我们试图放入一些分层的样本数据。例如,类别-子类别关系,需要为所有相关类别输入父id。如果有办法避免通过JSON将ID包含在种子数据中

{
    "MainCat1": ["SubCat11", "SubCat12"],
    "MainCat2": ["SubCat21", "SubCat22"]
}
很可能这是不受支持的(不能让谷歌帮我),但有没有办法写一个插件或其他东西来实现这一点?指向指南(如果有)的指针会有所帮助


注意:这与以该格式指定更改日志无关。

这是当前不支持的,并且支持它将非常困难。主要的困难在于Liquibase被设计成不依赖于数据库平台,并且其设计目标是能够生成执行操作所需的SQL,而无需实际执行操作

在不知道密钥的情况下插入所需的数据,并生成可以稍后运行的SQL,这将是非常困难的,甚至可能是不可能的。我建议更直接地联系Liquibase的主要开发商Nathan。最好的方法可能是通过


如果您想尝试实现它,可以从查看
LoadDataChange
类的代码开始,这是CSV支持当前所在的位置

谢谢你,史蒂夫。无论如何,这是一个远大的目标+1作为代码指针,我们将研究它,但我们的需求已被搁置。