問題タブ [sails-postgresql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Sails.js を既存の postgres データベースで使用する
私たちが開発しているアプリにSailsを使用することを考えていました。
私はウォーターラインormを使用するsails-postgresqlアダプターを使用しています。
接続したい既存のデータベースがあります。
を使用してモデルを作成する場合generate something
そして、私のモデルでは
localhost/something を参照すると、orm はsomething
テーブル内のタイトルを除くすべての列を削除します。
これをやめる方法はありますか?このアプリは、このデータベースの列を削除すべきではありません。
ありがとう!
asynchronous - findOrCreate は重複を作成します
私はoracle adapterを使用してasync.each
おりfindOrCreate
、いくつかのデータを oracle から postgres db に転送しています:
私のSQLクエリは、一意ではなく複数の値を返しますnot_id_field
。しかし、postgres db で一意にしたいのです。finOrCreate
素晴らしい使い方だと思いました。しかし、どういうわけかレコードを見つけることができません。
私は間違っていましたか?それとも、私が見逃しているものがありますか?sails.js
ドキュメントはあまり役に立ちません:(
postgresql - Sails.js はセイル バージョン 0.9.9 および Sails-postgresql バージョン 0.9.7 を持ち上げることができません
postgresql バージョン 0.9.7 でセイル バージョン 0.9.9 を持ち上げることができません
ここに私が得るエラーメッセージがあります
デバッグ: 帆を下げています...
以前は問題なく動いていました。何がうまくいかなかったのかわからない。node_modules
ディレクトリを削除してから実行しようとしましnpm install
たnpm cache clear
が、それでもこのエラーが発生し続けます。私はセイルのバージョン 0.10 にアップグレードすることができません。これは非常に大きなプロジェクトであり、アップグレードは非常に大きな労力を必要とするからです。同じバージョンでこの問題を修正するにはどうすればよいですか? どんな助けでも大歓迎です。
node.js - Sails.js アソシエーション: 1 対多のアソシエーションの「多」側が MongoDB または Postgres に保存されない (vs. disk db)
これは、sails-disk アダプターでは機能しますが、sails-mongo または Sails-postgresql では機能しません。
フィードとイベントの 2 つのモデルがあり、フィードは多くのイベントに属することができます。
1 つ以上のイベントに関連付けて (「posts」プロパティを介して) 新しいフィード レコードを作成または保存すると、「posts」プロパティが保存されません。ただし、(「posted」プロパティを介して) 1 つのフィードに関連付けられた新しいイベントを作成または保存すると、「posted」プロパティは適切に保存されます。問題: フィードとそのイベント (Sails を使用.populate
) をフィード側からクエリできず、イベント側からのみクエリを実行できません。
渡されるデータにFeed.create
「posts」プロパティが含まれていることを確認できますが、コールバックからの応答には含まれていません。
私のモデルは次のようになります。
Feed.js:
イベント.js:
最後に、私の config/models.js と config/connections.js は次のようになります。
接続: {
node.js - Sails.js の多対多の関連付けは、作成および設定時にエラーをスローします
多対多の関連付けを使用して、あるコレクションを別のコレクションに関連付けようとすると、次のエラーが発生します。
Sails-mongo の使用:
TypeError: Cannot read property 'where' of undefined
at _afterFetchingJunctorRecords (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/populateBuffers.js:131:35)
at /Users/grant/Sites/sails/test/node_modules/sails-mongo/lib/collection.js:103:5
at /Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/cursor.js:172:16
at commandHandler (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/cursor.js:720:16)
at /Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/db.js:1874:9
at Server.Base._callHandler (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/connection/base.js:453:41)
at /Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:481:18
at MongoReply.parseBody (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
at null.<anonymous> (/Users/grant/Sites/sails/test/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:439:20)
at emit (events.js:95:17)
Sails-postgresql の使用:
TypeError: Cannot convert null to object
at hasOwnProperty (native)
at utils.object.hasOwnProperty (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/lib/utils.js:28:14)
at /Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/where.js:261:11
at Array.forEach (native)
at WhereBuilder.complex (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/where.js:178:36)
at complexWhere (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/index.js:245:16)
at find (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-sequel/sequel/index.js:85:23)
at Cursor.populateBuffers [as $populateBuffers] (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/lib/adapter.js:547:31)
at Cursor.run (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-cursor/cursor/cursor.js:45:8)
at runJoins (/Users/grant/Sites/sails/test/node_modules/sails-postgresql/node_modules/waterline-cursor/index.js:51:10)
テスト プロジェクト
問題を実証し、他の人がテスト/デバッグできるように、サンプルの Sails アプリを作成しました: https://github.com/gnestor/sails-assoications-issue
再現するには:
関連付けを使用して新しいレコードを作成してみてください (Sails コンソール、Blueprints API、およびコントローラー内を使用してみました):
Event.create({source: 'http://domain.com/event/1', posted_by: {source: 'http://domain.com/feed/1'}}).exec(console.log)
Event.create({source: 'http://domain.com/event/3', venue: {source: 'http://domain.com/feed/2'}}).exec(console.log)
Event.create({source: 'http://domain.com/event/2', reposted_by: [{source: 'http://domain.com/feed/2'}, {source: 'http://domain.com/feed/4'}]}).exec(console.log)
結果
最初の 2 つ (1 対多の関連付け) は機能しますが、3 つ目 (多対多の関連付け) は機能しません。これをさまざまな方法でテストしました (Sails コンソール、Blueprints API、内部コントローラーを使用)。
Sails-disk では動作しますが、sails-mongo、sails-postgresql、sails-mysql では動作しないことに注意してください。おそらく何か間違ったことをしているのでしょう...
Sails-mongo の問題へのリンク: https://github.com/balderdashy/sails-mongo/issues/227 Sails-postgresql の問題へのリンク: https://github.com/balderdashy/sails-postgresql/issues/130
node.js - Sails JS で構成された Routes JS の Routes Not Found が返される
Sails JS、PostgreSQL スタックを使用しています。
以下のように、URL の最後にパラメーターとして 2 つの ID を渡したい:
/getLocation/cc/re
ここで、「cc」は 2 文字の国コード (例: US) であり、「re」は「cc」で参照される国の地域のオートコンプリート クエリです。
cc のみを使用しても機能しますが、余分なパラメーターを追加すると、「見つかりません」ページが表示されます。
「config/routes」は次のとおりです。
指さして言う:
「localhost/location/getRegion/us/or」
404 になります。
その間:
「ローカルホスト/場所/getRegion/私たち」
動作しますが、明らかにこれは米国内のすべての地域/州を出力します。2 番目のパラメーターは、「contains」を使用してこの結果をさらにフィルター処理することになっています。
2 つのパラメーターを使用して目的の結果を達成する方法についてのアイデアはありますか?
こちらが
getRegion
私のコード
ロケーションコントローラー
sails.js - Sailsjs:既存のデータベースをセイル/ウォーターライン モデルにリバース エンジニアリングするにはどうすればよいですか?
私は SailsJS 初心者です。
SailsJS/Waterline のモデルに変換したい既存のデータベース (postgres) があります。LoopBack の datasource.discoverSchema() メソッドのように、これを自動的に行うメソッド/ツール/ユーティリティはありますか?
ありがとう、
マーク