我正在研究如何管理OrientDB中的模式(使用源代码管理)。我有一个可以通过OrientDB的“bin/console.sh”运行的SQL脚本来创建类和函数。我的脚本仅适用于创建新的数据库,因为CREATE...
语句将在第二次失败。我希望能够在更改后重新运行脚本。那么,我们如何有条件地执行如CREATE CLASS
或CREATE PROPERTY
?在OrientDB中,如何编写数据库模式创建/更新SQL脚本?
到目前为止,我尝试使用IF
跳过这样的言论,但IF
只允许一个script sql...end
块内,如果你试图把任何CREATE...
声明中这样的块,你得到的错误:“不能更改架构而交易活跃。“我们唯一能够想到的是使用set ignoreErrors true
,但这远非理想,因为错误仍然存在,所以很难区分预期错误和实际问题。
如果我提出了错误的问题(意思是说,除了SQL脚本之外,还有一种更好的方式来管理模式的源代码控制),请告诉我。
您可以尝试使用Java API进行管理。请参阅:http://orientdb.com/docs/last/Schema.html –
我通常有2个文件。第一个包含整个模式(所以你从头开始安装系统时运行它)。而第二个我用来运行部分更新(例如更改类的属性或索引它) – AVK