如何以编程方式创建给定(json)架构的OrientDB数据库?

时间:2015-03-16 15:43:23

标签: json orientdb

对于我的开发工作流程目的,我想动态地在给定JSON模式的情况下创建一个新的orientdb数据库。我不相信它在orientdb中本机支持,是否存在任何现有的解决方案 - 提供JSON模式并指向orientdb实例,并自动创建数据库(边,顶点,索引以及可能的一些示例数据)。

2 个答案:

答案 0 :(得分:4)

我最终创建了一个.sh脚本来动态创建数据库。 .sh文件类似于:

# (file: createmydb.sh)

# script to create my database declaratively

set echo true

# use this to ignore errors and continue, if needed
# set ignoreErrors true

# create database
create database plocal:../databases/MyDB root root plocal graph

# create User vertex
create class User extends      V

create property User.Email                  STRING
create property User.Firstname              STRING
...

然后称之为:

/usr/local/src/orientdb/bin/console.sh createmydb.sh

这适用于我的目的。 DB创建脚本非常易于阅读,可以轻松修改。我确信它非常向后兼容(导入导出的JSON版本的数据库模式可能不是这种情况)。

答案 1 :(得分:0)

到目前为止,我发现使用存储在JSON或OSQL中的外部定义预加载模式对我来说是最成功的。目前我使用的OSQL脚本包含大量CREATE CLASS ...CREATE PROPERTY ...命令。它运作良好。

很快我将不得不开始支持对数据模型的动态更改,此时我将不得不编写代码来读取JSON模式定义并将其转换为适当的调用到OrientDB,通过Blueprints API或通过SQL批处理。

我没有找到一种能够“自动”完成所需工具的工具。如果你找到一个,请告诉我(以及其他所有人)。