3

マイグレーションファイルを使用して列の "validate"メタデータを変更することはできますか?私はqueryInterface.changeColumnメソッドを試してみました。それは、ドキュメント(defaultValue、allowNull、およびtype)に記載されている3つのメタデータだけを変更できるようです。Sequelize:列のメタデータを "validate"に変更する

私は移行ファイルのオブジェクトのアップ」の内部でこのような何かをやってみました:私は「sequelizeデシベル:移行」を実行したときに

queryInterface.changeColumn(
    'tableName', 
    'columnName', 
    { 
    validate: { 
     is: /new_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 
    } 
}) 

任意のアイデア?

答えて

2

検証はクライアントで行われ、データベースでは行われません。あなたはそれのための移行を必要としません。

+0

お返事ありがとうございます!モデルファイルの検証メタデータを編集して確認します。できます! :D –

関連する問題