【发布时间】:2020-04-28 18:07:29
【问题描述】:
关于使用 sequelize 生成模型的查询:
- 如何使用 MySQL 在 sequelize 中提供自增自定义值。
- 如何将当前时间戳设置为任何字段作为数据类型。 (查询中显示的当前实现对我不起作用!)
- 如何设置 ROW_FORMAT = COMPACT?
- 如何在唯一键或外键中自定义约束名称?
需要进行哪些更改?以及在哪个文件中模型或迁移。
我创造了什么:
CREATE TABLE `tbltests` (
`testId` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(250) DEFAULT NULL,
`nameId` int(4) unsigned DEFAULT 0,
`nameunique` varchar(100) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT 0,
`timet` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`createdAt` datetime NOT NULL,
`updatedAt` datetime NOT NULL,
PRIMARY KEY (`testId`),
UNIQUE KEY `nameunique` (`nameunique`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
我想要的输出:
CREATE TABLE `tbltests` (
`testId` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(250) DEFAULT NULL,
`nameId` int(4) unsigned DEFAULT 0,
`nameunique` varchar(100) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT 0,
`timet` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`createdAt` datetime NOT NULL,
`updatedAt` datetime NOT NULL,
PRIMARY KEY (`testId`),
UNIQUE KEY `nameunique` (`nameunique`)
) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
【问题讨论】:
-
tbltests PK 中的错字。
-
这个不清楚。你有什么问题?如果你想要后者,为什么不使用它?你的实际代码是什么? minimal reproducible examplePS 两个create 中都没有notificationId 列,怎么可能PK? PS 每个帖子询问 1 个特定的非重复问题。
标签: mysql database-design sequelize.js constraints auto-increment