gpt4 book ai didi

node.js - 使用sequelize.js 与现有数据库进行交互?

转载 作者:行者123 更新时间:2023-12-02 05:57:03 25 4
gpt4 key购买 nike

我目前正在从事一个项目,其中我们的 Node.js 服务器将针对现有 MySQL 数据库执行大量交互。因此我想知道 Sequelize 是否是一个很好的数据库接口(interface)库。据我了解,它最常被用作数据库的主控。但就我而言,它只有选择、插入、删除访问权限,而没有修改和创建表等权限。 Sequelize 支持这种与数据库交互的方法吗?

如果 Sequelize 确实对此有效,我需要禁用哪些设置才能避免遇到太多麻烦?阅读他们的文档后,我找不到任何全局设置将其变成一个简单的界面工具。时间戳等可以在表定义上禁用,但不能在我所看到的全局范围内禁用。任何意见都将不胜感激。

最佳答案

这篇文章中有很多问题,我会尽力回答所有问题:

全局禁用时间戳:

new Sequelize(... ,{
define: {
timestamps: false
}
});

您可以将任何define选项传递给sequelize构造函数,它们将应用于对sequelize.define的所有调用

映射到现有数据库

我将尝试在这里描述一些常见情况:

我希望我的模型具有与数据库表不同的名称:

sequelize.define('name of model', attributes, {
tableName: 'name of table'
});

我的数据库列的名称与模型中的属性不同:

sequelize.define('name of model', {
name_of_attribute_in_model: {
type: ...
field: 'name of field in table'
}
});

我的主键不叫 id:

sequelize.define('name of model', {
a_field_totally_not_called_id: {
primaryKey: true // also allows for composite primary keys, even though the support for composite keys accross associations is spotty
autoIncrement: true
}
});

我的外键被称为不同的东西

X.belongsTo(Y, { foreignKey: 'something_bla' });

免责声明:我是一个 Sequelize 维护者:)。总的来说,我认为我们对使用遗留数据库有很好的支持。请随时在此处或在 irc://irc.freenode.net#sequelizejs

上提出更多问题

关于node.js - 使用sequelize.js 与现有数据库进行交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30620092/

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