Node.js sails js和postgres数据库使用很少的不同模式和不同模式中的相同表名
我在sails和sails postgresql方面遇到了一个大问题 我使用的是sails V0.10.0-rc8和sails postgresql V0.10.0-rc4 我有postgres数据库,对于不同的应用程序几乎没有不同的模式 这些架构包含一些名称完全相同的表,例如: schema test有表uzytkownicy(用户),schema webApp也有表uzytkownicy,但有一些不同的属性 不知何故,sails和sails postgresql将所有模式中具有相同名称的所有表连接到一个巨大的表中(数据库中不存在),并在我试图从模型中定义的表中获取一些数据时抛出错误 例如: 我的模型定义:Node.js sails js和postgres数据库使用很少的不同模式和不同模式中的相同表名,node.js,postgresql,sails.js,Node.js,Postgresql,Sails.js,我在sails和sails postgresql方面遇到了一个大问题 我使用的是sails V0.10.0-rc8和sails postgresql V0.10.0-rc4 我有postgres数据库,对于不同的应用程序几乎没有不同的模式 这些架构包含一些名称完全相同的表,例如: schema test有表uzytkownicy(用户),schema webApp也有表uzytkownicy,但有一些不同的属性 不知何故,sails和sails postgresql将所有模式中具有相同名称的所有
module.exports = {
adapter: 'postgresql_app',
tableName: 'uzytkownicy',
migrate: 'safe',
autoPK: false,
autoCreatedAt: false,
autoUpdatedAt: false,
meta: {
schemaName: 'webApp'
},
attributes: {
id_uzytkownicy: {
type: 'integer',
index: true,
primaryKey: true
},
id_role: {
model: 'role'
},
imie: {
type: 'string',
required: true
},
nazwisko: {
type: 'string',
required: true
},
username: {
type: 'string',
required: true
}
}
};
my sails postgresql配置:
postgresql_app: {
adapter: 'sails-postgresql',
host: '<IP_ADRESS>',
user: '<USERNAME>',
port: '<PORT>',
database: '<DATABASE>',
password: '<PASSWORD>'
}
定义属性正确,但架构属性包含来自不同架构的所有表的字段
当我想获取一些数据时:
sails> Uzytkownicy.find({}).exec(console.log)
我得到了一个例外:
sails> Uzytkownicy.find({}).exec(console.log)
Error (E_UNKNOWN) :: Encountered an unexpected error
error: column uzytkownicy.login does not exists
at Connection.parseE (/home/aplikacje/www/nodejs/webApp/trunk/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:526:11)
at Connection.parseMessage (/home/aplikacje/www/nodejs/webApp/trunk/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:356:17)
at Socket.<anonymous> (/home/aplikacje/www/nodejs/webApp/trunk/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)
at Socket.EventEmitter.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:746:14)
at Socket.EventEmitter.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:408:10)
at emitReadable (_stream_readable.js:404:5)
at readableAddChunk (_stream_readable.js:165:9)
at Socket.Readable.push (_stream_readable.js:127:10)
Details: error: column uzytkownicy.login does not exists
sails>Uzytkownicy.find({}).exec(console.log)
错误(E_未知)::遇到意外错误
错误:列uzytkownicy.login不存在
在Connection.parseE(/home/aplikacje/www/nodejs/webApp/trunk/node_modules/sails-postgresql/node_modules/pg/lib/Connection.js:526:11)
在Connection.parseMessage(/home/aplikacje/www/nodejs/webApp/trunk/node_modules/sails-postgresql/node_modules/pg/lib/Connection.js:356:17)
在插座上。(/home/aplikacje/www/nodejs/webApp/trunk/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)
位于Socket.EventEmitter.emit(events.js:95:17)
在插座上。(_stream_readable.js:746:14)
位于Socket.EventEmitter.emit(events.js:92:17)
在emitReadable上(_stream_readable.js:408:10)
在emitReadable(_stream_readable.js:404:5)
在readableAddChunk(_stream_readable.js:165:9)
在Socket.Readable.push(_stream_Readable.js:127:10)
详细信息:错误:列uzytkownicy.login不存在
这是真的,因为我的webApp.uzytkownicy没有列登录,它存在于不同的模式中
但是,创建(Uzytkownicy.create())数据工作正常,数据只插入到我的webApp.Uzytkownicy表中
我是否在配置中做错了什么?我只想使用schema webApp,不想与其他模式交互。我找到了绕过该问题的临时解决方案:在文件中./config/bootstrap可以添加Users.schema=Users.definition;它将表架构设置为更正一个,并允许在选定的数据库架构中成功地从表中查找()数据。我也有相同的问题..但是跨两个不同的数据库系统..如果能听到开发人员关于此错误的消息,那将非常高兴。它只更新公共模式。不管schemaName集是什么。
sails> Uzytkownicy.find({}).exec(console.log)
Error (E_UNKNOWN) :: Encountered an unexpected error
error: column uzytkownicy.login does not exists
at Connection.parseE (/home/aplikacje/www/nodejs/webApp/trunk/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:526:11)
at Connection.parseMessage (/home/aplikacje/www/nodejs/webApp/trunk/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:356:17)
at Socket.<anonymous> (/home/aplikacje/www/nodejs/webApp/trunk/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)
at Socket.EventEmitter.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:746:14)
at Socket.EventEmitter.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:408:10)
at emitReadable (_stream_readable.js:404:5)
at readableAddChunk (_stream_readable.js:165:9)
at Socket.Readable.push (_stream_readable.js:127:10)
Details: error: column uzytkownicy.login does not exists