如何将Liquibase与MongoDB一起使用?

554 阅读1分钟

liquibase

今天我们将研究如何将Liquibase与MongoDB一起使用,以便我们可以创建一个Liquibase项目。所以Liquibase是一个开源的库,用于跟踪、管理和应用数据库模式。它是一个独立的库。

在Linux上安装Liquibase

为了安装Liquibase,请到Liquibase的官方网页上下载该tar包。下载完tar包后,将包的内容解压到本地目录。

之后,我们必须把Liquibase的安装目录添加到我们系统的路径中。同样,使用下面的命令。

export PATH=$PATH:<Liquibase extracted directory>

现在我们必须下载MongoDB JDBC jar文件

之后,我们必须下载用于MongoDB的Liquibase扩展,这可以在这里找到。现在将这些jar文件添加到提取的Liquibase安装目录中,即liquibase/lib

使用MongoDB创建Liquibase项目

现在去一个目录,用任何名字建立一个文件夹,但我更喜欢LiquibaseProject

之后,进入你所建立的目录,并创建一个扩展名为XML的文件。打开XML文件,把下面的代码粘贴到里面。

<?xml version="1.0"  encoding="UTF-8"?>
<databaseChangeLog
	xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
	xmlns:pro="http://www.liquibase.org/xml/ns/pro"
	xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
		http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.9.0.xsd
		http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd
		http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-4.9.0.xsd">
</databaseChangeLog>

现在,在同一目录下,我们必须在另一个文件中定义一些属性。因此,我们必须创建一个以**.properties**为扩展名的属性文件。并将下面的代码粘贴到该文件中。

changelog-file: dbchangelog.xml
url: mongodb://hostname:27017/myDatabase
username: username
password: password

现在我们要在更新日志中添加一个变化集。那么什么是变化集?变更集是由author id 属性唯一标识的。因此,我们将在变化集中添加一个新的集合,如下图。

<changeSet id="1" author="bob">
	<ext:createCollection collectionName="myCollection">
		<ext:options>
		{
		validator: {
			$jsonSchema: {
				bsonType: "object",
				required: ["name", "address"],
				properties: {
					name: {
					bsonType: "string",
					description: "The Name"
					},
			address: {
				bsonType: "string",
				description: "The Address"
						}
					}
				}
			},
			validationAction: "warn",
			validationLevel: "strict"
			}
			</ext:options>
		</ext:createCollection>
	</changeSet>

上面的代码将被输入到XML文件中,以便用一些参数引入一个新的集合。

现在我们必须通过我们的终端导航到项目目录,并更新数据库。为此,我们必须运行一个命令,该命令在下面给出。

liquibase update

How to use Liquibase with MongoDB?

现在,当你进入MongoDB Compass社区工具的用户界面时,你可以看到一个数据库已经被创建,名字是myDatabase,在这个数据库下,一个新的集合已经被引入到myCollection

我们已经看到,我们可以将Liquibase与我们的任何数据库一起使用,以管理我们的数据库模式脚本的修订工作。它还支持各种文件格式。Liquibase使用的脚本被称为变化集,因为我们已经使用了上面的一个。