[英]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.