問題タブ [sequelize-cli]
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 - nodejs 続編/cli node-config での使用方法
まず、Sequelize を使用するのは初めてなので、しばらくお待ちください。
https://github.com/lorenwest/node-config とともにhttps://github.com/sequelize/cliを使用したい
node-config と同じ方法で、sequelize が複数のソース ファイルから構成を「構成」できるようにしたいと考えています。
今までに私はそれを解決しました
.sequelizerc
development.json すなわち
すべての env.json ファイルで、論理的な意味を持たない冗長な env キーを設定する必要があることがわかります。
より良い方法はありますか?
欠点
データを取得するには:
このようにして、File Load Order のすべてのオプションが失われます。
https://github.com/lorenwest/node-config/wiki/Configuration-Files
他の方法
標準の node-config json ファイルを使用します。
node.js - Sequelize-CLI シーダー - 未定義のプロパティを読み取れない
db:seed:all
私は今、1時間以上苦労してきましたが、ゆっくりとこれについて頭を悩ませています.
私は単純なモデルを持っています:
これは移行中であり、sequelize db:migrate
正常に動作するデータベースに移動します。
次に、シード ファイルを使用して 2 台の車を挿入します。だから私はコマンドを実行してsequelize seed:create --name insertCars
追加しましたbulkInsert
:
実行するsequelize db:seed:all
と、次のエラーが表示されます。
これらのシーダーを実行した経験のある人はいますか? 参考までに、私の設定ファイルは次のとおりです。
編集: db:migrate からの出力
node.js - Node JS Sequelize ORM 日付の問題
ノードjsのsequelize ORMを使用してmysqlデータベースに接続しています。
タイプdateの「dob(生年月日)」という名前のフィールドがあります。
そのフィールドに値を保存すると、適切に保存されますが、フェッチ中にデータベースにある日付よりも1つ少ない日付が返されます。
たとえば、「1990-10-27」をデータベースに保存していて、フェッチ中に「Fri Oct 26 1990 18:30:00 GMT+0000 (UTC)」が返されます。
誰でもこれで私を助けてくれませんか。
sequelize.js - トランザクションを継続する - リクエストは、SentClientRequest 状態ではなく、LoggedIn 状態でのみ行うことができます
を使用して次の更新ステートメントがある場合Sequelize
に 1 対多の関係があることに注意してUnitplant
くださいCustomer
。上記のコードは正常に動作しますが、更新時に削除のみまたは挿入のみの場合に限りcustomers
ます。
両方が発生するたびに、次のエラーが発生します。
未処理の拒否 SequelizeDatabaseError: 要求は、SentClientRequest 状態ではなく、LoggedIn 状態でのみ行うことができます
コンソールからこれが起こります:
そこのINSERTとDELETEに注意してください。
両方を持っている場合にのみ、なぜこれが起こるのですか? そして、どうすればこの問題に取り組むことができますか?
補足として、トランザクションを使用しない場合でもすべてが機能するため、選択した分離レベルが間違っているのか、トランザクションのセットアップ全体が間違っているのか疑問に思います。
node.js - Sequelize: 列の型を ENUM に変更
その列のデータを永続化しながら、列を String 型から ENUM に変更する適切な方法を見つけることができないようです。
また、ENUM 型の新しい列を作成してから、列間でデータをコピーしようとしました。
しかし、移行時に次のエラーが返されます。
エラー: 列 "newcolumn" は enum_time_newcolumn 型ですが、式は文字型可変です]
node.js - Sequelize シードでレコードを検索
私は自分のプロジェクトの種を書き込もうとしてきましたが、ちょっとした障害に遭遇しました。
私は私のとテーブルとのmany-to-many
関係を持っています。したがって、データベースをシードするときは、正しい ID を持つレコードを結合テーブルに追加する必要があります。そのためには、ユーザーとロールを見つけて取得する必要があり、それが問題です。続編サイトで適切なドキュメントが見つかりません。シーディングと移行には、 sequelize-cliを使用しています。パラメータとして a を取得しますが、例が見つからないか、このことが実際に何ができるかについて言及していません。いくつかの簡単な例だけで、(どういうわけか) 移行が完了し、Google で見つけたものを知ることができました。users
roles
email
name
ids
queryInterface
私が言う「汚いトリック」を使用してこれを解決しました...
シードをもう一度実行して、これがどのように機能するかを忘れたい場合、将来面倒になる可能性があるため、このソリューションは好きではありません。this を使用してデータベースにクエリを実行する方法があるはずqueryInterface
です。あなたの 1 人がこの問題に遭遇して解決したかどうか疑問に思っていました。もしそうなら、共有してください。
arrays - $notIn の値が空の配列の場合、Sequelize は何も返しませんが、配列に空の値が含まれている場合は私を返します
ID が配列に含まれていないすべての値を Sequelize に返してもらいたいです。
$notIn の値が空の配列の場合、Sequelize は何も返しませんが、配列に空の値が含まれている場合は me を返します。
これは私に何も返しません:
これは私にすべての値を返します:
配列が空の場合、すべての値が返されないのはなぜですか? 空の場合、その配列にない値をすべて返す必要があることを意味します。ID には値が含まれていないので、sequelize はすべての値を返すはずですよね?