gpt4 book ai didi

node.js - 我如何在 Node.js 项目的 Arango 或 Neo4j 中存储和管理数据库模式

转载 作者:行者123 更新时间:2023-12-02 20:08:32 26 4
gpt4 key购买 nike

我不明白如何管理模式以针对不同环境(开发、测试和生产)具有相同的数据库结构。并在部署服务器中。如何定义、存储和更新 ArangoDB 或 Neo4j 模式。

我知道 SQL 数据库的 sequelize 实用程序。它具有用于在不同模式版本 ( http://docs.sequelizejs.com/manual/tutorial/migrations.html) 之间迁移的工具,以更好地理解我想要什么。

最佳答案

有一个抽象的迁移框架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

关于node.js - 我如何在 Node.js 项目的 Arango 或 Neo4j 中存储和管理数据库模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54117242/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com