Alz*_*orz 3 node.js sequelize.js
我目前正在一个项目中工作,我们的 Node.js 服务器将针对现有的 MySQL 数据库执行大量交互。因此,我想知道 Sequelize 是否是连接数据库的好库。从我读到的关于它的内容来看,它最常被用作数据库的主人。但就我而言,它只有选择、插入、删除访问权限,而不能访问修改和创建表等。Sequelize 是否支持这种与数据库交互的方法?
如果 Sequelize 确实对此有效,我需要禁用哪些设置才能避免遇到太多麻烦?阅读他们的文档后,我找不到任何全局设置将其变成一个简单的界面工具。时间戳等可以在表定义上禁用,但不能全局禁用我所看到的。非常感谢任何输入。
这篇文章有很多问题,我会尽量一一解答:
new Sequelize(... ,{
define: {
timestamps: false
}
});
Run Code Online (Sandbox Code Playgroud)
您可以将任何define选项传递给 sequelize 构造函数,它们将应用于所有对sequelize.define
我将在这里尝试描述一些常见情况:
我希望我的模型与我的数据库表具有不同的名称:
sequelize.define('name of model', attributes, {
tableName: 'name of table'
});
Run Code Online (Sandbox Code Playgroud)
我的数据库列的名称与模型中的属性不同:
sequelize.define('name of model', {
name_of_attribute_in_model: {
type: ...
field: 'name of field in table'
}
});
Run Code Online (Sandbox Code Playgroud)
我的主键不叫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
}
});
Run Code Online (Sandbox Code Playgroud)
我的外键被称为不同的东西
X.belongsTo(Y, { foreignKey: 'something_bla' });
Run Code Online (Sandbox Code Playgroud)
免责声明:我是续集的维护者:)。总的来说,我认为我们对使用旧数据库有很好的支持。请随时在此处或在 irc://irc.freenode.net#sequelizejs 上提出更多问题
| 归档时间: |
|
| 查看次数: |
1163 次 |
| 最近记录: |