在OrientDB中,如何编写数据库架构创建/更新SQL脚本?

菱铁矿

我正在研究如何在OrientDB中管理模式(使用源代码管理)。我有一个可以运行的SQL脚本,可以通过OrientDB的“ bin / console.sh”运行它来创建类和函数。我的脚本仅适用于创建新数据库,因为CREATE...语句将第二次失败。我希望能够在进行更改后重新运行脚本。因此,我们如何有条件地做类似CREATE CLASS或的事情CREATE PROPERTY

到目前为止,我尝试过使用IF跳过这样的语句,但是IF只允许在一个script sql...end块中使用,如果尝试将任何CREATE...语句放在这样的块中,则会收到错误消息:“在事务处于活动状态时,不能更改架构。” 我们唯一能想到的就是使用set ignoreErrors true,但这远非理想,因为仍然会抛出错误,因此很难将预期的错误与实际的问题区分开。

如果我问错了问题(意味着,除了SQL脚本外,还有一种更好的方法来管理模式的源代码控制),请告诉我。

菱铁矿

在OrientDB v2.2.13中,有一个新的“ IF EXISTS”子句,可让您使用相同的脚本优雅地创建或更新数据库。它是CREATE和DROP语句的一部分:

CREATE CLASS <class> [IF NOT EXISTS] ...;
CREATE PROPERTY <class>.<property> [IF NOT EXISTS] ...;
DROP CLASS <class> [IF EXISTS];
DROP PROPERTY <class>.<property> [IF EXISTS];

可以在官方文档中找到此功能

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Laravel中创建数据库架构(表)?

用于数据库部署的架构更改/更新脚本

在单个.sql脚本中创建数据库和表

更新数据库架构

Orientdb,如何在分发模式下创建数据库

在 Visual Basic 中创建更改密码表单。如何更新 SQL Server 数据库?

在SQL Server数据库架构比较中禁用了更新目标按钮

如何使用Hibernate创建数据库架构

如何使用NHibernate更新数据库架构

无法在 mongo 数据库中创建表的架构

使用NodeJS在Firebase数据库中创建架构

如何在数据库中的架构下创建表

如何在Spring4D 1.2中更新数据库架构

在Rails中运行ruby迁移后如何更新数据库架构

如何使用SSH隧道编写数据库迁移脚本?

更新SQL数据库中的数据

如何在Symfony中创建数据库SQL视图

使用脚本名称创建数据库的SQL脚本

如何为AWSless Serverless应用程序迁移(更新数据库架构)数据库

SQL Server可以同步实时数据库和创建脚本以创建更新脚本吗?

SQL Server 2005如何从数据库转储中创建数据库

如何在 SQL Server 中删除数据库架构和用户

在SQL Server数据库中查找分区架构定义

CodeFirst迁移:自动完成“更新数据库”后如何运行数据库脚本(C#或SQL)?

使用Terraform创建数据库架构

使用休眠更新数据库架构

更新MySQL数据库表架构

更新 mongodb atlas 数据库架构

如何使用liquibase在Java中将旧数据库架构更新为新数据库架构