問題タブ [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.

0 投票する
1 に答える
2569 参照

mysql - 既存の Sequelize モデルから移行スクリプトを生成するコマンドは何ですか?

次のコマンドを使用してモデルを作成しました。

$ node_modules/.bin/sequelize model:create --name XYZ --attributes "....."

しかし、誤って移行スクリプトを含むフォルダーを削除してしまいました。ここで、このスクリプトを再度生成したいと思います。を使用してみsequelize migration:createましたが、空のファイルが生成されました。助けてください。

0 投票する
1 に答える
3605 参照

sequelize.js - Sequelize 移行での Promise チェーン - リレーションが存在しません

この簡単なテスト コード:

次のエラーを返します。

これで、2 番目の promise (テーブルの変更に関する) が実行されるまでに、テーブルがまだ作成されていないことがわかりました。

移行内のすべてのクエリが一度に実行されるため、このテスト移行が発生した可能性があります。

そしてそれはうまくいきます。

では、テーブルの作成とPKの追加を1回の移行で実行できるように、最初のものが機能しない理由と、それをどのように実装できるかを説明できますか?

0 投票する
1 に答える
510 参照

mysql - Sequelize スキーマをブートストラップする「正しい」方法は何ですか?

Sequelize を使い始めたときは、単純force:trueにデータベースを開発用に動作させていましたが、テスト/運用に移行した今、これは明らかに適切な選択ではありません。

次のようにコードでスキーマを定義しました。

これをデータベース初期化ワークフローに変える「正しい」方法は何ですか? 特に、これを「init」移行で行うことは理にかなっていると考えています。そうすれば、将来の移行とコードの変更がそれから機能し、将来いつでも移行のスタックを実行できるようになります。完全に最新のスキーマを取得します。

編集:私が検討し、うまくいく可能性が高いものですが、十分に「エレガントな」ソリューションとは思えません。

  • 生成された SQL を使用して新しいデータベースを初期化し、キ​​ャプチャして、新しいデータベースでforce:true実行できる「setup.sql」を作成します。
  • スキーマ全体を「移行表記法」で書き直します。これは、記述内容は同じですが、構文が厄介なほど異なります。
0 投票する
1 に答える
408 参照

mysql - 同梱機種 Sequelize でのコンディションの入れ方は?

親モデル列の値と等しくなるように、含まれるモデルの列にカスタム条件を設定しようとしましたが、sequelize 3.8.7 モジュールで期待どおりに機能しません。以下は私が試したコードです

しかし、実行したクエリ条件を確認すると、mysqlORM.sequelize.col に含まれていません。このようにLEFT OUTER JOINを実行します

含まれるモデルの列の値に条件を付けることができるように助けてください。

0 投票する
3 に答える
7164 参照

sequelize.js - Sequelize-CLI 既存のモデルに列を追加

私は、sequelize-cli のドキュメントをかなり読んでいますが、既存のモデルに列を追加する方法がわかりません。というモデルがあり、という名前の列をモデルmodels/team.jsに追加したいのですが、変更ではなく上書きするようにというメッセージが表示されます。role_namesequelize model:create --name team --attributes role_name:string

これは正しいコマンドではないと思わせるファイルを上書きしたくありません。また、これが cli からは不可能であり、移行ファイル レベルで調整する必要があるのではないかと思います。

0 投票する
1 に答える
200 参照

sequelize.js - Sequelize CLI 移行クラスメソッドの変更

多対多の関係を持つモデル ファイル内のテーブル間の関係を更新しようとしています。現在、関係が一意でなければならないというデフォルトの性質に対して使用しようとしているコマンドでエラーが発生しています。belongsToManyその結果、 withにプロパティを追加するという簡単な調整を行いたいのですunique: falseが、移行ファイルで使用する適切な形式がわかりません。queryInterfaceを変更するコマンドに関するドキュメントはないようですclassMethod。移行ファイルも必要ですか?

これを変更したい:

これに ( unique: false)

0 投票する
1 に答える
4286 参照

node.js - ノードで Sequelize を使用して SELF JOIN する方法

私は移行にsequelize-cliを使用しており、さまざまなシナリオを調査しましたが、自己参加する方法について明確な確固たる答えはないようです. ユーザーと友人 (基本的には単なるユーザー) を結合する、friendships という名前の結合テーブルが必要です。

より具体的には、この状況での「スルー」と「として」の違いについて理解しようとしています。

1) これは私の友情表です。2 番目の関連付けにつまずく。2 つの列を作成しました。1 つは userId で、もう 1 つは friendId です。このテーブルを 2 人のユーザー (各テーブルに 1 人ずつ) にリンクし、1 つの列を "friendId" としてエイリアス化できるようにしたいと考えています。

```

```

2) これは私のユーザー モデルです。繰り返しますが、特に関連オブジェクトでは、私が明確ではない場所です。ここでの目標は、user.friends を呼び出して、そのユーザーの友達のすべてのインスタンスを表示できるようにすることです。「スルー」および「として」キーワードを正しく使用しているかどうかはわかりません。

```

```