我已经看到使用这两个类来定义数据类型,包括在官方文档中,两者显然都有相同的用途。
在教程中,我看到应用程序使用DataTypes作为模型和Sequelize for Migrations,您可以在它们之间进行交换,它们可以继续工作。示例代码:
使用DataTypes的模型:
module.exports = (sequelize, DataTypes) => {
const Driver = sequelize.define('Driver', {
firstName: {
type: DataTypes.STRING(50),
allowNull: false
},
使用Sequelize进行迁移:
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('Drivers', {
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
答案 0 :(得分:6)
它们中的第二个参数只是sequelize包本身
const Sequelize = require('sequelize');
你会注意到你的index.js模型(如果按照建议进行设置)你做了类似下面的事情,你将sequelize作为第二个参数传递给你。
const model = require(path.join(__dirname, file))(sequelize, Sequelize);
这会公开数据类型。你称之为什么并不重要。例如
module.exports = (sequelize, asd) => {
const Driver = sequelize.define('Driver', {
firstName: {
type: asd.STRING(50),
allowNull: false
},
与迁移相同。
答案 1 :(得分:0)
如docs中所述,数据类型为:
包含常用数据类型的便捷类。