Sequelize.js Sequelize(v5)FreezableAbleName:true在迁移代码中不起作用 我如何在sequelize Migaration最新代码(即sequelize最新版本V5和node最新版本10.x)中解决这个问题
它在DB中添加了复数表名,如何避免这种情况?首先,真正创建表的是迁移代码Sequelize.js Sequelize(v5)FreezableAbleName:true在迁移代码中不起作用 我如何在sequelize Migaration最新代码(即sequelize最新版本V5和node最新版本10.x)中解决这个问题,sequelize.js,Sequelize.js,它在DB中添加了复数表名,如何避免这种情况?首先,真正创建表的是迁移代码 //user.js ------------------- 'use strict'; module.exports = (sequelize, DataTypes) => { const user = sequelize.define('user', { name: DataTypes.STRING, email: DataTypes.TEXT }, {});
//user.js
-------------------
'use strict';
module.exports = (sequelize, DataTypes) => {
const user = sequelize.define('user', {
name: DataTypes.STRING,
email: DataTypes.TEXT
}, {});
user.associate = function(models) {
// associations can be defined here
};
return user;
};
//migration file xxxxxxx-create-user.js
----------------------------------
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('users', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
name: {
type: Sequelize.STRING
},
email: {
type: Sequelize.TEXT
},
password: {
type: Sequelize.TEXT
}
});
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('users');
}
};
因此,请先用用户替换用户
为了让您的sequelize模型知道在搜索表用户时在哪里查找,您必须完成另外一个步骤
module.exports = {
up: (queryInterface, Sequelize) => {
// you're specifying `users` instead of `user` here
return queryInterface.createTable('users', {
现在您可以再次执行查询了。工作正常,谢谢!!。但同时,如果我想使timeStamps:false在哪里应该全局添加而不是单个模型,只需在模型中使您的选项为{tableName:'user',timeStamps:false},但我认为我需要在模型文件中添加timeStamps:false之前删除迁移文件中的feild。
module.exports = {
up: (queryInterface, Sequelize) => {
// you're specifying `users` instead of `user` here
return queryInterface.createTable('users', {
const user = sequelize.define('user', {
name: DataTypes.STRING,
email: DataTypes.TEXT
}, { tableName: 'user' }); // pass table name option here