gpt4 book ai didi

javascript - MySql 序列化架构

转载 作者:太空宇宙 更新时间:2023-11-04 02:21:32 25 4
gpt4 key购买 nike

我正在尝试使用 Sequelize 来表示一些 MySQL 表。然而,我遇到了一些外键和约束问题。

我似乎不知道如何正确使用它们。

这是表的MySql:

CREATE TABLE `users` (
`server_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`pw` varchar(128) COLLATE utf8_bin DEFAULT NULL,
`lastchannel` int(11) DEFAULT NULL,
`texture` longblob,
`last_active` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY `users_id` (`server_id`,`user_id`),
UNIQUE KEY `users_name` (`server_id`,`name`),
KEY `users_channel` (`server_id`,`lastchannel`),
CONSTRAINT `users_server_del` FOREIGN KEY (`server_id`) REFERENCES `servers` (`server_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


这是我正在进行的 Sequelize 工作:

module.exports = function(sequelize, DataTypes) {

var Users = sequelize.define('users', {

server_id: {type: Sequelize.INTEGER, allowNull: false},
user_id: {type: Sequelize.INTEGER, autoIncrement: true, allowNull: false, primaryKey: true},
name: {type: Sequelize.STRING(255), defaultValue: null},
pw: {type: Sequelize.STRING(128), defaultValue: null},
lastchannel: {type: Sequelize.INTEGER(11), defaultValue: null},
texture: Sequelize.BLOB,
last_active: {type: Sequelize.DATE, allowNull: false, defaultValue: Sequelize.NOW, onUpdate: Sequelize.NOW}

}, {
indexes: [
{
name: 'users_id',
unique: true,
fields: ['server_id', 'user_id']
},
{
name: 'users_name',
unique: true,
fields: ['server_id', 'name']
},
{
name: 'users_channel',
fields: ['server_id', 'lastchannel']
},
]
});

Users.removeAttribute('id');

return Users;
};


正如您所看到的,我认为我拥有完整的核心属性,以及它们应该具有的唯一键(我认为)。我遇到问题的地方是:

CONSTRAINT `users_server_del` FOREIGN KEY (`server_id`) REFERENCES `servers` (`server_id`) ON DELETE CASCADE

有人可以告诉我如何最好地表示这条线吗?

感谢您的宝贵时间

最佳答案

你可以尝试sequelize-auto .

从命令行将现有表结构导出为 js 模型非常方便:

sequelize-auto -o "./models" -d database_name -h host -u username -p 3306 -x my_password -e mysql

免责声明:我没有在有限制的情况下使用它,但查看项目的测试,它似乎具有良好的外键支持。

关于javascript - MySql 序列化架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33133832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com