Sequelizeでキーを組み合わせてユニーク制約を使う場合
node.jsのSequelizeでキーを組み合わせてユニーク制約を使う場合、次のようにします。

uniqueプロパティはboolean型ならば、その列にユニーク制約を与えます。
文字列の場合は、同じ文字列の列と組み合わせてユニーク制約となります。
もし、別のテーブルと関連づけがあり、自動で生成される列の場合でも、制約をつけたい場合は、明示的に列を指定しなければいけません。明示的に列を作成した場合は、hasManyなどを行う場合、asでどの列が外部キーであるか指定する必要があります。


module.exports = function(sequelize, DataTypes) {
var RootPath = sequelize.define('RootPath', {
path: {
type: DataTypes.STRING,
unique: 'projectPathIndex'
},
ProjectId: {
type: DataTypes.INTEGER,
unique: 'projectPathIndex',
allowNull: false
}
}, {
classMethods: {
associate: function(models) {
RootPath.hasMany(models.Project, {as:'ProjectId'});
}
}
});

return RootPath;
};


by mima_ita | 2014-06-13 14:47 | node.js
<< Jadeで処理を共通化する seleniumを使ってJav... >>


検索
カテゴリ
最新の記事
.NET4.5におけるasy..
at 2014-07-02 00:46
.NETでTwitterを検..
at 2014-06-29 00:49
Redmineのプラグインで..
at 2014-06-28 03:29
IO.popenのwrite..
at 2014-06-28 03:25
RedmineのWikiでU..
at 2014-06-28 03:16
以前の記事
最新のトラックバック
その他のジャンル
ブログパーツ