Session 除非重新连接,否则java会话中的OrientDB架构更改不会出现在console.sh会话中

Session 除非重新连接,否则java会话中的OrientDB架构更改不会出现在console.sh会话中,session,schema,orientdb,Session,Schema,Orientdb,如果我从console.sh打开到OrientDB数据库的连接,那么我使用单独的Java代码添加一个类,除非我重新连接,否则该类不会显示在控制台会话(“列出类”)中 为什么模式更改不是通用的?这是否意味着不同的客户端将以不同的方式查看同一数据库 只是想澄清一下-我不是在问解决办法,我是在问“为什么”这种行为存在,我想要的答案将解释“为什么”。从控制台登录数据库时,请尝试以下命令: reload schema 它应该重新加载架构,如果您再次列出类,您应该会看到导入的新类。从控制台登录数据库时,请

如果我从console.sh打开到OrientDB数据库的连接,那么我使用单独的Java代码添加一个类,除非我重新连接,否则该类不会显示在控制台会话(“列出类”)中

为什么模式更改不是通用的?这是否意味着不同的客户端将以不同的方式查看同一数据库


只是想澄清一下-我不是在问解决办法,我是在问“为什么”这种行为存在,我想要的答案将解释“为什么”。

从控制台登录数据库时,请尝试以下命令:

reload schema

它应该重新加载架构,如果您再次列出类,您应该会看到导入的新类。

从控制台登录数据库时,请尝试以下命令:

reload schema

它应该重新加载模式,如果您再次列出这些类,您应该会看到导入的新类。

正如@cgull所问:“这是否意味着不同的客户端将以不同的方式查看相同的数据库?”显然,您的回答是“是的,直到模式重新加载。”如果数据发生更改(由Java程序更改),该怎么办使用更改的模式?如果console.sh会话对数据进行了更改怎么办?这对我来说是一个很好的选择。我不能让我的代码在每次读取数据库之前重新加载模式。我无法预测新字段带来的数据,因此我选择OrientDB,因为它具有灵活的模式。我对这个发现很失望。这种行为有什么原因吗?正如@cgull所问:“这是否意味着不同的客户端会以不同的方式查看同一个数据库?”显然,您的答案是“是的,直到重新加载模式。”如果使用更改的模式对数据(由Java程序)进行更改,该怎么办?如果console.sh会话对数据进行了更改怎么办?这对我来说是一个很好的选择。我不能让我的代码在每次读取数据库之前重新加载模式。我无法预测新字段带来的数据,因此我选择OrientDB,因为它具有灵活的模式。我对这个发现很失望。这种行为有什么原因吗?