問題タブ [knex.js]

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 に答える
1554 参照

mysql - 本棚とknexで結合テーブルを操作するには?

本棚を使用して結合テーブルにエントリを作成したいと考えています。ここの本棚のウェブサイトの指示に従いました。(ブックシェルフによるモデルのインスタンス化と knex によるテーブルの作成)。

新しいブックの作成時に、authors_books モデル/コレクションを作成せずに、authors_books テーブルに値を追加する方法はありますか?

これに何を追加する必要がありますか:

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

node.js - knexjs 列固有の型

knexJSで特定のタイプの列を作成するにはどうすればよいですか?

私はテーブルUsersを持っています:

私が休憩に入ったとき、私はそれを手に入れました:

私のユーザーモデル

しかし、id_sectorsint 型である必要があります。その理由は誰にもわかりますか?

助けてくれてありがとう。

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

javascript - これを Bookshelfjs と knex で記述するにはどうすればよいですか

から単純なセッション ストアを作成してbookshelfjsいますが、タイムスタンプ列を正しく設定する必要があります。now() + ttl 間隔 1ms で列の ttl を書き込もうとしていますが、それを行う方法や、その列の生のコンテンツをトリガーする方法を思い出せません。

koa-pg-session からの元のクエリは次のとおりです。

Knex の raw クエリ フォーマッタを使用していると確信していますが、列の値を設定するための正しい部分がドキュメントに見つかりません。完全なクエリを文字列に記述したくありません。単一の列「有効期限」だけでそれを行う方法を知りたいです。

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

node.js - Bookshelf.js を使用してピボット モデルにタイムスタンプを設定する

多対多のリレーションシップで 2 つの Bookshelf モデルがあり、いくつかのリレーションシップをアタッチまたはデタッチするときにタイムスタンプを更新したいと考えています。

ここに私のモデルがあります:

私が使用しているときはすべて正常に動作します

しかし、この関係にタイムスタンプを追加する方法はありますか? Bookshelf でピボット モデルを定義する必要がありますか?

ありがとう

0 投票する
2 に答える
7028 参照

postgresql - knex を使用した複数のパラメーターを持つ db.raw

これは実際に knex で機能します。

複数の値をパラメーターとして使用しようとしていますが、それらのいくつかを繰り返しています。このようなもの:

どうすればそれを達成できますか?

0 投票する
2 に答える
2924 参照

node.js - node.jsとmysqlを使用して、ユーザーごとに異なるデータベースに接続しようとしています-できればプールを使用してください

私はnodejs、knex、bookshelfなどにかなり慣れていないので、現在、ログインしているユーザーに基づいて別のmysqlデータベースに接続するWebアプリを開発しています.

最初の接続は正常に機能し、ログアウトしてサインアウト コードで knex.destroy() を実行します。再度ログインすると、 Unhandled rejection Error: There is no pool defined on the current client

一度破棄されたプールは、再初期化されても knex によって再作成されないようです。

誰もこれを試して、その方法を知っていますか?

データベースなしで初期化し、ユーザーがログインしたときにデータベースを追加しようとしましたが、接続がデータベースに接続していないようです。以前の接続を破棄せずに、データベースとの新しい接続をインスタンス化しようとしました。その結果、ユーザーは最初のユーザーのデータベースを使用します。接続を破棄すると、MySQL 接続が削除され、適切なデータベースとの新しい接続が確立されますが、明らかにプールはありません。

読むと、knexはこれを行うように設計されていないように見えますが、新しいプールとの新しい接続をインスタンス化する方法があるに違いありませんか?

私はパスポートローカルコードスニペットを使用しています

DB.js

助けてください!他に必要なコードを教えてください。

誰かがこれをやったことがありますか?どうか、私は答えを持っていないか、見つけていません。

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

javascript - Knex の移行により、gulp プロセスがハングする

gulp タスク内でknex.jsのMigrations APIを使用すると、タスク プロセスがハングし、終了しません。これは何が原因で、どうすれば修正できますか?

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

node.js - Bookshelfjsを使用してnode.jsでPostgreSQLの2つのテーブルを結合する方法

私は2つのテーブルを持っています。

ユーザー

  1. id(pk)
  2. 名前(varchar)
  3. 電子メール (varchar)
  4. role(配列)(Fk)

役割

  1. id(pk)
  2. 名前(varchar)

これらのテーブルのモデルを作成しました

今私が欲しいのは、ロール情報を取得するためのユーザー情報です。私の場合、ロールは複数にすることができます。どうすれば達成できますか?

0 投票する
2 に答える
1963 参照

javascript - bookshelf.js でタイムスタンプ値を手動で設定する

タイムスタンプを持つようにテーブルをセットアップし、それらを使用するようにブックシェルフを構成しました。通常はすべてが正常に行われ、bookshelf がタイムスタンプを処理しますが、タイムスタンプを指定したい場合がありますが、指定しようとすると値が無視され、現在の日付が使用されます。

ユースケースを本質的なものまで単純化しようとしました:

hasTimestamps通常のユースケース用に構成したままにしたいと思います。Bookshelf でタイムスタンプの動作をオーバーライドできるようにすることはできますか?