我試圖讓快速會話與postgres一起工作。經過幾個小時的調試,我已經修復了所有問題,但只有一個。一切正常,但以下幾點:續集和快速會話模型
如果我運行裏面的pgAdmin此查詢我的會話正常工作
CREATE TABLE "sessions" (
"sid" varchar NOT NULL COLLATE "default",
"sess" json NOT NULL,
"expire" timestamp(6) NOT NULL
)
WITH (OIDS=FALSE);
ALTER TABLE "sessions" ADD CONSTRAINT "session_pkey" PRIMARY KEY ("sid")
NOT DEFERRABLE INITIALLY IMMEDIATE;
如果我創建模型sequelize那麼它不保存會話。我很確定,很明顯,我缺少模型定義中的一些部分,並且很感激任何輸入。
var Sessions = database.define('sessions', {
sid: {
type: Sequelize.STRING,
primaryKey: true
},
expire: {
type: Sequelize.DATE,
allowNull: true
},
sess: Sequelize.JSON
});
return Sessions;
代碼的休息與此
var pgSession = require('connect-pg-simple')(expressSession),
sessionSettings = {
store: new pgSession ({
conString: 'postgres://' + dbConfig.user +':' + dbConfig.password+ '@' + dbConfig.host+ ':5432/' + dbConfig.database,
tableName : 'sessions'
}),
secret: 'whatevergoeshere',
resave: false,
saveUninitialized: false,
cookie: {
maxAge: 7*24*60*60*1000
}
};
app.use(expressSession(sessionSettings));
我不知道如何將缺少的部分和sequelize文件要麼是短的話題,或者我還沒有足夠的睡眠工作
其他代碼可以根據請求提供,但非常確定,它不會影響任何內容,因爲如果我不強制與sequelize模型同步並使用查詢,則一切正常。
而且,這裏是它的外觀通過pgAdmin的,與在pgAdmin的查詢創建頂部一個,底部一個由sequelize
你爲什麼不只是使用[連接,會話級sequelize](https://github.com/mweibel/connect-session-sequelize)? –
我更新了我的問題以反映您的評論 –
在另一個項目上更新了源代碼,我現在有同樣的問題。 –