我正在考虑将Sails用于我们正在开发的应用程序.
我正在使用使用水线orm的sails-postgresql适配器.
我有一个我想连接的现有数据库.
如果我使用创建模型 generate something
然后在我的模型中我有
attributes:{
title:{type:'String'}
}
Run Code Online (Sandbox Code Playgroud)
如果我浏览到localhost/something,orm将删除something表中除title之外的所有列.
有没有办法阻止它这样做?此应用程序不应删除此数据库上的列.
谢谢!
我对sails很新,我试图在postgresql db中创建一个身份验证模式.
我有一个用户模型
module.exports = {
attributes: {
firstName: {
type: 'string'
},
lastName: {
type: 'string'
},
email: {
type: 'string',
required: true,
unique: true
},
password: {
type: 'string',
required: true
},
authTokens: {
collection: 'authToken',
via: 'owner'
}
}
}
Run Code Online (Sandbox Code Playgroud)
和用户注册/创建控制器
module.exports = {
create: function (req, res) {
sails.log.info("Message to be logged");
User.create(
{
email: req.body.email,
firstName: req.body.firstName,
lastName: req.body.lastName,
password: req.body.password
}
).exec(function (err) {
if (err) {
return res.status(400).send({err: err});
} else {
return …Run Code Online (Sandbox Code Playgroud) json:任何 JSON 可序列化的值,包括数字、布尔值、字符串、数组、字典(纯 JavaScript 对象)和 null。
ref:除 undefined 之外的任何 JavaScript 值。(仅应在利用特定于适配器的行为时使用。)
我无法弄清楚它们之间的区别。什么时候使用一个而不是另一个?
我瞎搞这个惊人的帆船项目在这里.
我设法让我的Macbook Pro 100%正常运行,几乎没有任何困难.
现在我正试图让它在Azure Ubuntu 14.04盒子上工作,并在运行它之后npm start只调用node app.js我得到这个错误:
Error creating a connection to Postgresql using the following settings:
{ host: 'localhost',
port: 5432,
schema: true,
ssl: false,
adapter: 'sails-postgresql',
user: 'electron_release_server_user',
password: '[redacted]',
database: 'electron_release_server',
identity: 'postgresql' }
* * *
Complete error details:
{ error: password authentication failed for user "electron_release_server_user"
at Connection.parseE (/home/azureuser/electron-release-server/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:539:11)
at Connection.parseMessage (/home/azureuser/electron-release-server/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:366:17)
at Socket.<anonymous> (/home/azureuser/electron-release-server/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:172:18)
at …Run Code Online (Sandbox Code Playgroud) 选择查询在waterline-postgresql的.populate()中不起作用.
Model.find(query).populate(assoc.alias,{select:['field1','field2']});
Run Code Online (Sandbox Code Playgroud)
这不适用于waterline-postgresql适配器.
这是不支持还是我犯了什么错误?
如何在带有sailsjs模型关联的postgres中多出一列?
这是我的两个模型的示例
// Users.js attribute
...
challenges: {
collection: 'challenge',
via: 'userChallenge'
}
// Challenge.js attribute
...
userChallenge: {
collection: 'users',
via: 'challenges'
}
...
Run Code Online (Sandbox Code Playgroud)
有了这个,我得到了表关联(多对多)
id | challenge_userChallenge | users_challenges
Run Code Online (Sandbox Code Playgroud)
我需要一个或多个额外的列,比如“活动”或类似的东西
提前致谢