postgresql 9 でテーブルを作成しました
create table stillbirth(id serial primary key, state varchar(100), count int not null, year int not null);
Sequelize 1.4.1 バージョンで node.js にサンプルを書き込もうとしています。
上記の表を次のようにマッピングしました
var StillBirth = sequelize.define('stillbirth',
{ id: {type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true},
state: Sequelize.STRING,
year: Sequelize.INTEGER,
count: Sequelize.INTEGER
}, {timestamps: false, freezeTableName: true});
Stillbirth の新しいインスタンスを作成して保存しようとすると、エラーが発生します。
/** 新しいインスタンス作成コード **/
StillBirth
.build({state: objs[j].state, year: objs[j].year, count: objs[j].count})
.save()
.error(function(row){
console.log('could not save the row ' + JSON.stringify(row));
})
.success(function(row){
console.log('successfully saved ' + JSON.stringify(row));
})
私が得るエラー
*実行: INSERT INTO "死産" ("状態","年","カウント","id") VALUES ('アーンドラ プラデシュ',2004,11,NULL) RETURNING ; 行 {"length":110,"name":"error","severity":"ERROR","code":"23502","file":"execMain.c","line": を保存できませんでした: "1359","ルーチン":"ExecConstraints"}
生成されたSQLを見ると、理想的にはデータベースによって生成されるべき主キーにnullが設定されています。
ここで何が欠けているのか誰かが私を助けることができますか?