ArangoDB 如何在Node.js项目的Arango或Neo4j中存储和管理数据库架构

ar7v8xwq  于 2022-12-09  发布在  Go
关注(0)|答案(2)|浏览(142)

我不明白如何管理一个模式,使其在不同的环境(开发、测试和生产)中具有相同的数据库结构。以及在部署服务器中。如何定义、存储和更新ArangoDB或Neo4j模式。
我知道sequelize实用程序的SQL数据库。它有工具之间的迁移不同的模式版本(http://docs.sequelizejs.com/manual/tutorial/migrations.html),以更好地了解我想要的。

bqujaahr

bqujaahr1#

有一个抽象的迁移框架https://github.com/tj/node-migrate
您可以将它用于任何数据库,因为它允许您执行任何代码并将状态保存到任何位置(默认情况下保存到文件)
下面是我如何为ArangoDB配置它

npm i migrate --save-dev

将脚本添加到package.json

"scripts": {
    "migrate": "migrate"
  },

创建迁移文件夹

npm run migrate init

创建迁移

npm run migrate create test

将迁移实施替换为

require('dotenv').config();
const arangojs = require('arangojs');

const db = new arangojs.Database({ url: process.env.DB_HOST });

db.useDatabase(process.env.DB_NAME);
db.useBasicAuth(process.env.DB_USERNAME, process.env.DB_PASSWORD);

module.exports.up = async (next) => {
  const collection = db.collection('test');
  await collection.create();
  next();
};

module.exports.down = async (next) => {
  const collection = db.collection('test');
  await collection.drop();
  next();
};

加到.gitignore

.migrate

运行迁移

npm run migrate up

回滚迁移

npm run migrate down
yduiuuwa

yduiuuwa2#

ArangoDB有一些模式演化工具,即migrantverde及其后继者arangoMigo
ArangoMigo使用Yaml文件描述模式,而Migrant verde使用XML文件描述模式。

相关问题