問題タブ [slick-2.0]

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

scala - 継承とポリモーフィックな関係は可能ですか / Slick の良いアイデアですか?

私が現在取り組んでいる次の簡略化されたドメイン モデルを検討してください。

このモデルは何を表していますか?

これは単純な価格サービスを表しており、製品または製品カテゴリに対して複数の価格を定義できます。製品の最終的な価格は、一致するすべての価格と関連する条件を確認して決定されます。たとえば、製品の通常価格と、DateCondition があるため、今日だけ有効な追加価格が 1 つある場合があります。

私の問題は何ですか? 価格は複数の条件に関連付けることができます。各状態は、別のタイプの場合があります。だから私は、これを Slick (= ポリモーフィックな関係) でどのように解決すべきか自問自答しています。基本的に、関連する条件とともに価格を取得する DAO のようなインターフェイスが必要です。

私の質問:

  1. このモデルを Slick で実装することは可能ですか? (おそらくそうだ)
  2. ポリモーフィックな関係: この問題を Slick で解決するのは良い考えですか? Slick は、オブジェクト リレーショナルの不一致を克服したいと述べており、ここでは、このモデルでフレームワークと戦おうとしているような気がします。Slick は、このようなオブジェクト指向のアプローチではうまく機能しませんか? 別のアプローチを選択する必要がありますか?

Plz 注: はい、私が試したことを示すコードはありませんが、現在、探す方向が必要です。現在、私はどういうわけか迷っています:-)

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

scala - 外部キーフィールドを使用した Slick でのフィルタリング

whereSlickまたはfilterステートメントで外部キー フィールドを使用することは可能ですか?

次のようなもの (userフィールドがマップされたプロジェクションであるテーブルへの外部キーである場合User) (これはコンパイルされません):

それとも、外部キーを明示的に使用する必要がありますか?

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

scala - Play slick セッションの接続タイムアウト

Slick 2.0.1 と play-slick 0.6.0.1 でのセッションと接続の処理に問題があります

エラーは

明示的なセッションを 1 か所でセットアップするためのプレイ ベース コントローラー トレイトがあります。

次に、明示的なセッションを使用して UserService を単純に呼び出す /list アクションがあります。

すべての非同期アクションを削除したので、この質問が同様の質問と重複するとは思わない: Play slick and Async - is a race condition? またはScala Play 2.2 Slick 1.0.1 - future { {Try {...} } 使用可能な空き接続を待ってタイムアウトしました

この問題は、アクションを約 10 回リロードした後に発生します。

明らかに、slick のセッション処理で何か間違ったことをしています - playframework での slick 2 セッション処理の良い例はありますか? そのためのベストプラクティスは何ですか?

編集:問題の考えられる原因の 1 つは、TableQueries を保持するために使用するオブジェクトである可能性があります

それが問題の原因である可能性がある場合、これらの参照を配置するのに適した場所は何ですか? オブジェクトの主な理由は、テーブル定義の外部キーでこれらのインスタンスを参照することです ( http://slick.typesafe.com/doc/2.0.1/schemas.html#constraintsと同様) 。

編集:これが findByEmail のコードです - しかし、それは本当に重要ではないと思います。すべてのクエリで同じ動作と問題のようです。

正しい方向へのヒントに感謝します。

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

playframework-2.2 - slick 2.0 を使用して複数のテーブルを参照する最良の方法は何ですか?

これらのテーブルがあります: USERS、USER_ROLES、ROLES、PERMISSIONS、ROLE_PERMISSIONS

私は以下を実装しています:

したがって、この関数のクエリを作成する場合は、次のようになります。

ここで、M は指定されたユーザー ID です。次に、ID で各ロールを検索して Role オブジェクトを返すか、結合を使用しますが、ここでは関係ありません。

私の UserRole モデルは次のようになります。

予想どおり、retrieveRoles は UserRoles のリストを返しますが、ロールのリストが必要なので、UserRole.roleID を受け取る別のクエリを作成し、返された各 UserRole のロール テーブルでそれを見つける必要があります。これは多くのクエリであり、1 つのクエリでこれを行う方法があるように感じます。Slick の専門家からの助けはありますか?

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

scala - コンパイラで使用できるはずの抽象クラスで複数のジェネリック型を推論する

play2/slick2 プロジェクトの抽象的な CRUD-DAO に取り組んでいます。便利なタイプ セーフなプライマリ ID を持つために、スリック&の上に追加の抽象化と利便性としてUnicornを使用しています。MappedToColumnBaseType

Unicorn は基本的な CRUD-DAO クラスBaseIdRepositoryを提供しており、これをプロジェクト固有のニーズに合わせてさらに拡張したいと考えています。クラスの署名は

これにより、DAO の実装は次のようになります。

これは私には非常に冗長に思えます。tableNamequeryfromを提供することができT、自分の Abstract DAO に次の署名を付けました。

Scala で何らかの形で型Iを推測しA、次のような署名を可能にすることは可能ですか? (Usersはクラス拡張ですIdTable)

これはランタイムリフレクションなしで可能ですか? ランタイム リフレクションのみの場合: クラス定義でマニフェストを使用するにはどうすればよいですか? また、リアクティブ アプリケーションでのパフォーマンスへの影響はどの程度ですか?

また、私はこの言語にかなり慣れていないため、自分で作業しています。これは scala での良い実践ですか?

ご協力ありがとう御座います。私の質問と英語を自由に批判してください。もちろん、改善はUnicorn git-repoに提出されます

編集: 実際には、エラークラスタイプが必要TableQuery[T].baseTableRow.tableName, TableQuery[T]であるために機能しませんが、Tが見つかりました。IDEAは表面的には問題ありませんでしたが、scalacはそうではありませんでした。

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

postgresql - Slick 2 ジェネレーター: 異なるスキーマで同じ名前のテーブル

私はSlick 2 コード ジェネレーターを使用していますが、これまでのところ問題はありませんが、問題が 1 つあります。Postgres データベースに 2 つのスキーマがあり、それらのスキーマのそれぞれに同じ名前のテーブルがある場合、コード ジェネレーターは重複したクラスを作成し、明らかなエラーが発生します。これを回避する方法はありますか?1 つのデータベースで複数のスキーマを指定する方法はありますか?

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

sql - MS SQL Config と Slick 2.0.1 および Playframework 2.2.2

新しい専用の MS SQL ドライバーを使用しようとすると、ドライバー クラスの ClassNotFound に要約される例外が発生します。

slick と slick-extensions の両方を含めます。

使用例:

例外:

最終的に、com.typesafe.slick.driver.ms.SQLServerDriver の ClassNotFound です。