首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使Sequelize使用单表名称

如何使Sequelize使用单表名称
EN

Stack Overflow用户
提问于 2014-01-14 13:15:50
回答 4查看 89.7K关注 0票数 125

我有一个名为User的模型,但是Sequelize会在我试图保存到数据库中时查找表USERS。有人知道如何设置Sequelize来使用单表名称吗?谢谢。

EN

回答 4

Stack Overflow用户

发布于 2014-04-20 20:25:21

可以使用属性freezeTableNamedocs状态。

请看下面的示例:

代码语言:javascript
运行
AI代码解释
复制
var Bar = sequelize.define('Bar', { /* bla */ }, {
  // don't add the timestamp attributes (updatedAt, createdAt)
  timestamps: false,

  // don't delete database entries but set the newly added attribute deletedAt
  // to the current date (when deletion was done). paranoid will only work if
  // timestamps are enabled
  paranoid: true,

  // don't use camelcase for automatically added attributes but underscore style
  // so updatedAt will be updated_at
  underscored: true,

  // disable the modification of tablenames; By default, sequelize will automatically
  // transform all passed model names (first parameter of define) into plural.
  // if you don't want that, set the following
  freezeTableName: true,

  // define the table's name
  tableName: 'my_very_custom_table_name'
})
票数 262
EN

Stack Overflow用户

发布于 2016-01-01 18:30:42

虽然公认的答案是正确的,但您可以对所有表执行一次操作,而不必为每个表单独执行此操作。您只需将一个类似的options对象传入Sequelize构造函数,如下所示:

代码语言:javascript
运行
AI代码解释
复制
var Sequelize = require('sequelize');

//database wide options
var opts = {
    define: {
        //prevent sequelize from pluralizing table names
        freezeTableName: true
    }
}

var sequelize = new Sequelize('mysql://root:123abc@localhost:3306/mydatabase', opts)

现在,在定义实体时,不必指定freezeTableName: true

代码语言:javascript
运行
AI代码解释
复制
var Project = sequelize.define('Project', {
    title: Sequelize.STRING,
    description: Sequelize.TEXT
})
票数 109
EN

Stack Overflow用户

发布于 2020-10-22 10:59:29

您可以直接这样做,而不是像下面这样在定义它之后在每个表中指定它

代码语言:javascript
运行
AI代码解释
复制
var db_instance = new Sequelize(config.DB.database, config.DB.username, config.DB.password, {
  host: config.DB.host,
  dialect: config.DB.dialect,
  define: {
    timestamps: true,
    freezeTableName: true
  },
  logging: false
});  

您也可以直接告诉Sequelize表的名称:

代码语言:javascript
运行
AI代码解释
复制
sequelize.define('User', {
  // ... (attributes)
}, {
  tableName: 'Employees'
});

您可以在sequelize.js的文档中看到这两种方法

Doc。与freezeTableName相关的sequelize.js

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21114499

复制
相关文章
单表和连表?如何选择?
我们查询一百万多条后耗时为33457.8317 ms,大约30来秒,这是没有加索引的情况下
阿超
2022/08/16
8810
单表和连表?如何选择?
TDSQL-MYSQL版 单表如何使用存储过程
对分表键(shardkey)做murmurHashCodeAndMod运算, 数据均匀分布在每个set上(这个说法其实不严谨)
大大刺猬
2021/04/23
3.9K0
TDSQL-MYSQL版 单表如何使用存储过程
xtrabackup 8.0如何恢复单表
* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 实验场景 GreatSQL 8.0.25 InnoDB 1.备份单表, test.t_user /usr/bin/xtrabackup -uroot -p'GreatSQL' -S /data/GreatSQL/mysql.sock --tables='test.t_user' --backup --target-dir=/data/backup 2.恢复备份 xtrabackup --prepare --export -
老叶茶馆
2022/04/01
1.8K1
在Sequelize中使用迁移
迁移的好处,可以类比git。通过每次创建迁移文件,来支持更新,回滚数据库表结构,也方便协同开发,也避免人工手动去直接修改数据库,用代码自动管理。换个电脑,也不用去拷贝数据库,直接运行迁移就可以完全恢复开发环境,极大减轻了心智负担。
前端知否
2020/03/23
1.9K0
Sequelize入门
Sequelize 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, MariaDB, SQLite 以及 Microsoft SQL Server. 它具有强大的事务支持, 关联关系, 预读和延迟加载,读取复制等功能.
ccf19881030
2020/11/11
1.4K0
单表查询是如何执行的
对于我们这些MySQL的使用者来说,MySQL其实就是一个软件,平时用的最多的就是查询功能。DBA时不时丢过来一些慢查询语句让优化,我们如果连查询是怎么执行的都不清楚还优化个毛线,所以是时候掌握真正的技术了。我们在第一章的时候就曾说过,MySQL Server有一个称为查询优化器的模块,一条查询语句进行语法解析之后就会被交给查询优化器来进行优化,优化的结果就是生成一个所谓的执行计划,这个执行计划表明了应该使用哪些索引进行查询,表之间的连接顺序是啥样的,最后会按照执行计划中的步骤调用存储引擎提供的方法来真正的执行查询,并将查询结果返回给用户。不过查询优化这个主题有点儿大,在学会跑之前还得先学会走,所以本章先来瞅瞅MySQL怎么执行单表查询(就是FROM子句后边只有一个表,最简单的那种查询~)。不过需要强调的一点是,在学习本章前务必看过前边关于记录结构、数据页结构以及索引的部分,如果你不能保证这些东西已经完全掌握,那么本章不适合你。
猿天地
2019/06/18
1K0
业务单表 读写缓慢 如何优化?
陈某的知识星球开通了,一个相互交流的技术圈子,陈某会在星球中定期分享干货,如果你也想和球友一起打卡学习进阶,戳链接加入
码猿技术专栏
2023/05/01
3600
业务单表 读写缓慢 如何优化?
Egg-TS-Sequelize的使用
Egg 官方文档:https://www.eggjs.org/zh-CN/tutorials/sequelize
程序员 NEO
2023/09/28
2820
Egg-TS-Sequelize的使用
nodejs使用sequelize操作mysql实例
sequelize是node操作mysql的一款npm包,包含很多特性:数据库模型映射、事务处理、模型属性校验、关联映射等,花了两天时间学习了下基本的一些操作,特别是关联映射部分的操作,包含1:1、1:N、N:N部分,利用express框架实现简单的rest服务。
用户1141560
2019/05/24
3.5K0
Sequelize笔记
注意:使用sequelize创建表,创建出来的表名一定是小写的!但是表字段可以是大小写混合。
hss
2022/02/25
3.8K0
sequelize-auto生成sequelize所有模型
sequelize是node最受欢迎的orm库,普遍使用 Promise. 意味着所有异步调用可以使用 ES2017 async/await 语法.
雪山飞猪
2019/08/29
1.1K0
MySQL如何快速恢复单表(物理方式)
上述单表物理复制的方法,核心在于cp命令,因为是通过物理拷贝,所以如果复制的表非常大,那么通过物理拷贝,就会比逻辑上的SQL写入快很多,比如insert into select语句。
GreatSQL社区
2023/02/22
1.6K0
mysql恢复单库、单表
从全备份中恢复出某一个库里的一张表(以取出hellodb.students为例):
保持热爱奔赴山海
2019/09/18
2.3K0
使用VBA在工作表中列出所有定义的名称
有时候,工作簿中可能有大量的命名区域。然而,如果名称太多,虽然有名称管理器,可能名称的命名也有清晰的含义,但查阅起来仍然不是很方便,特别是想要知道名称引用的区域时,如果经常要打开名称管理器查找命名区域,会非常麻烦,也浪费时间。
fanjy
2022/11/16
6.6K0
sequelize常用api
目前有许许多多的ORM,但是目前最为流行的依然是sequelize,所以这里总结写之前自己写自己的博客所涉及到的点,分享给大家,让大家也可以少踩坑,更快入门。
Snine
2022/02/11
7.9K0
Oracle 更改表名称的几种方式
ALTER TABLE old_table_name RENAME TO new_table_name;(大写为系统命令)
全栈程序员站长
2022/08/29
4.9K0
Sequelize中批量删除
Sequelize中有批量查询findAll、批量创建bulkCreate,同时可以通过where进行条件筛选进行批量更新,在一次需要进行评论删除的功能实现时,我没有在文档中找到批量删除,原本是打算使用[Op.in]然后传递数组实现,在查询相关文章后发现where中可以直接传递数组。
用户6256742
2022/07/06
2.8K0
Sequelize 基本操作
Sequelize 是 Node 的一个 ORM(Object-Relational Mapping) 框架,用来方便数据库操作。
超超不会飞
2020/09/18
2.3K0
单表查询练习
# ORDER BY price DESC 排序查询, DESC是降序 ASC是升序 默认 ASC -- 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 -- 格式: -- SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; -- ASC 升序 (默认) -- DESC 降序 SELECT pname,price FROM product ORDER BY price DESC; SELECT pid,pname,price
名字是乱打的
2022/05/13
9760
MySQL单表查询
3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组
changxin7
2019/09/10
17.9K0

相似问题

如何使用sequelize更新表

10

单表继承名称冲突

12

如何在使用Sequelize的节点中使用sequelize.transaction在单次api调用中更新两个表

124

如何使用Sequelize包含多个其他表?

122

如何使用sequelize使用外键值填充表?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文