2013-12-15 16 views
6

Sequelizeがデータベース(MySQLなど)にインスタンスを保存すると、最後に自動的に "id"フィールドが追加されます(自動インクリメント)。私は記事とドキュメントを読んだが、それを無効にする方法は見つけられなかった。自動的に作成されるデフォルトの「id」列を変更する方法はありますか?

ありがとうございます。

+0

任意の理由は?また、どのMySQLクライアントを使用していますか? – verybadalloc

答えて

9

属性を 'primaryKey'として定義すると、DAOインターフェイスは、自分のプライマリキーより優先するデフォルトの 'id'フィールドを削除します。

参照ライン1140またはDAO-factory.jsでその辺り:あなたはそれを削除する理由

var addDefaultAttributes = function() { 
    var self    = this 
     , defaultAttributes = { 
     id: { 
      type: DataTypes.INTEGER, 
      allowNull: false, 
      primaryKey: true, 
      autoIncrement: true 
     } 
     } 

    if (this.hasPrimaryKeys) { 
     defaultAttributes = {} 
    } 

    ... etc. ... 
関連する問題