对于我的开发工作流程目的,我想动态地在给定JSON模式的情况下创建一个新的orientdb数据库。我不相信它在orientdb中本机支持,是否存在任何现有的解决方案 - 提供JSON模式并指向orientdb实例,并自动创建数据库(边,顶点,索引以及可能的一些示例数据)。
答案 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批处理。
我没有找到一种能够“自动”完成所需工具的工具。如果你找到一个,请告诉我(以及其他所有人)。