[英]Model Generation using sequelize with MySQL dialect
关于使用 sequelize 生成模型的查询:
需要哪些改变? 和在哪个文件模型或迁移。
我创造了什么:
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
关于使用 sequelize 生成模型的解决方案:
如何使用 MySQL 在 sequelize 中提供自动递增的自定义值?
如所问问题中的CreateTable查询所示,AUTO_INCREMENT 只是指它自己的记录计数,即,如果我们有 2 条记录,查询语句将显示计数为AUTO_INCREMENT = 2
如何在唯一键或外键中自定义约束名称?
使用addConstraint()函数,我们也可以为外键和唯一键添加约束以及自定义约束名称。 显示的外键片段:
return queryInterface.addConstraint(
'Tabletests',
['GeneratedBy'],
{
type: 'foreign key',
name: 'GeneratedBy_FK_1',
references: {
table: 'TableUsers',
field: 'Uid'
},
onUpdate: 'cascade',
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.