javascript - Sequelize : Change "validate" meta data of column

标签 javascript migration sequelize.js database-migration database-table

是否可以使用迁移文件更改列的“验证”元数据?我尝试了 queryInterface.changeColumn 方法,它似乎只能更改文档中提到的三个元数据(defaultValue、allowNull 和类型)。

我试过在迁移文件的“向上”对象中做这样的事情:

queryInterface.changeColumn(
  'tableName',
  'columnName',
  {
    validate: {
      is: /new_regex_validation/
    }
  }
)

但是,当我运行“sequelize db:migrate”时,上述尝试对我不起作用

为了简单起见,我将使用表定义来详细说明我的问题:

我正在尝试像这样更改一个已经存在的表:

var tableName = sequelize.define('tableName', {
    columnName: {
        type: DataTypes.STRING,
        unique: true,
        allowNull: false,
        validate: {
            is: /some_regex_validation/
        }
    }
})

使用 sequelize 迁移到这里:

var tableName = sequelize.define('tableName', {
    columnName: {
        type: DataTypes.STRING,
        unique: true,
        allowNull: false,
        validate: {
            is: /a_new-or-different_regex_validation/
        }
    }
})

在使用 sequelize 迁移时简单地删除验证元数据:

var tableName = sequelize.define('tableName', {
    columnName: {
        type: DataTypes.STRING,
        unique: true,
        allowNull: false
    }
})

有什么想法吗?

最佳答案

验证发生在客户端,而不是数据库。您不需要为此进行迁移。

关于javascript - Sequelize : Change "validate" meta data of column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39812721/

相关文章:

javascript - 在 React 中测试文本值

javascript - 揭示模块模式问题

ios - {Module_name}-Swift.h 文件与 Swift 3.2 不同,仅在 Swift 4 项目中无法正常工作

sequelize.js - node.js - Sequelize 查询表

javascript - jQuery/JavaScript 按属性设置数组

javascript - 打印所有mongoDB数据到字符串nodejs

database - 从 sqlite 迁移到 postgresql

php - 在 Laravel 5.4 中从迁移中删除列

node.js - Sequelize在哪里选项sql注入(inject)?

sql - 与以下 sql 查询相关的 sequelize 查询是什么?