如何以编程方式创建给定 (json) 模式的 OrientDB 数据库?
How to programmatically create an OrientDB database of a given (json) schema?
为了我的开发工作流目的,我想在给定 JSON 模式的情况下即时创建一个新的 orientdb 数据库。我不相信这在 orientdb 中是原生支持的,是否有任何现有的解决方案可以做到这一点——提供一个 JSON 模式并指向一个 orientdb 实例,它会自动创建数据库(边、顶点、索引,也许还有一些示例数据)。
到目前为止,我发现使用存储在 JSON 或 OSQL 中的外部定义预加载模式对我来说最为成功。目前我正在使用一个包含一大堆 CREATE CLASS ...
和 CREATE PROPERTY ...
命令的 OSQL 脚本。它运行良好。
很快我将不得不开始支持对数据模型的动态更改,此时我将不得不编写代码来读取 JSON 模式定义并将其转换为对 OrientDB 的适当调用,或者通过蓝图 API 或通过 SQL 批次。
我还没有找到可以满足您需要的工具 "automatically." 如果您找到了,请告诉我(以及这里的其他人)。
我最终创建了一个 .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
这很适合我的目的。数据库创建脚本非常容易阅读,可以轻松修改。而且我确信非常向后兼容(导入导出的 JSON 版本的数据库模式可能不是这种情况)。
为了我的开发工作流目的,我想在给定 JSON 模式的情况下即时创建一个新的 orientdb 数据库。我不相信这在 orientdb 中是原生支持的,是否有任何现有的解决方案可以做到这一点——提供一个 JSON 模式并指向一个 orientdb 实例,它会自动创建数据库(边、顶点、索引,也许还有一些示例数据)。
到目前为止,我发现使用存储在 JSON 或 OSQL 中的外部定义预加载模式对我来说最为成功。目前我正在使用一个包含一大堆 CREATE CLASS ...
和 CREATE PROPERTY ...
命令的 OSQL 脚本。它运行良好。
很快我将不得不开始支持对数据模型的动态更改,此时我将不得不编写代码来读取 JSON 模式定义并将其转换为对 OrientDB 的适当调用,或者通过蓝图 API 或通过 SQL 批次。
我还没有找到可以满足您需要的工具 "automatically." 如果您找到了,请告诉我(以及这里的其他人)。
我最终创建了一个 .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
这很适合我的目的。数据库创建脚本非常容易阅读,可以轻松修改。而且我确信非常向后兼容(导入导出的 JSON 版本的数据库模式可能不是这种情况)。