問題タブ [scalaquery]

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

scala - Slickを使用してフィルターで結果をカウントする方法は?

私は単純化したい問題に直面しています:(確かに、私は実際にそれを間違っています)。

募集

id = 1のユーザーの数を数えたいと思います。SQL言語では、次のようになります。

コード

「リフト」形式でSlickを使用しているので、ユーザーをカウントするコードを次に示します。

実際にここで行われるのは、SlickエイリアスScalaQueryが実際にフィルターの原因を使用してサブクエリを作成し、サブリクエストの結果をカウントしていることです。

このようなクエリのオーバーヘッドはかなり大きいようです。

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

scala - scalaquery で自動インクリメント キーを取得する

scalaquery/slick を使用して 1:n の関係を表す 2 つのテーブルに行を挿入したいと考えています。

テーブルは次のように定義されます。

1 つのトランザクション内に 1:n の関係を挿入したいのですが、ScalaQuery を使用してそれを実現する方法がわかりません。JDBC 3 では、ステートメントから生成された ID を取得できますが、ScalaQuery API でステートメントが公開されている場所がわかりません。また、この情報に直接アクセスする方法もわかりません。

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

scala - ScalaQueryを使用して日付でクエリを制限するにはどうすればよいですか?

Scalaqueryを使用していますが、日付フィールドに基づいてクエリを制限しようとすると問題が発生します。私はScala2.9.2、ScalaQuery 2.9.1:0.10.0-M1を使用しています。以下のコードを検討してください。

このクエリは行を返しません。呼び出しコードは次のとおりです。

クエリは0行を返し、selectを出力すると次のSQLを生成します。

テスト日のデータがあります。SQLをSQLエディターに貼り付け、JDBCテンプレート形式( '27-Oct-2012')ではないように日付を編集すると、クエリは期待される行を返します。誰かが私が間違っていることを教えてもらえますか?これはうまくいかないのですか?

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

mysql - Scala Slick: 直接埋め込みを使用したクエリが機能しない

次のコードを使用して、mysql テーブルからアイテムを要求します (アカウント クラスは、データベース フィールドを表すケース クラスです)。

この線

次の例外をスローします。

その理由は何ですか?Scala 2.10.0-RC1 と Slick 0.11.2 を使用しています。

Account クラスは次のようになります。

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

scala - Slickのオプションフィールドの説明

Slick DSLでは、テーブルにオプションのフィールドを作成する2つの方法があります。

この場合のクラスの場合:

次のいずれかの方法でテーブルマッピングを作成できます。

2つの違いは何ですか?一方は古い方法で、もう一方は新しい方法ですか、それとも異なる目的を果たしますか?

一貫性が高いため、ID定義の一部としてIDをオプションとして定義する2番目の選択肢をお勧めします。

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

scala - 結合 SLICK に AND を追加する方法

SLICK でクエリを作成する際に問題があります。MySql データベースへのリクエストは次のとおりです。

SLICK を使用してどのように記述できますか? ドキュメントの結合に関する情報が本当に不足しています。

UPDATE 1 私はこのようなものでもすべての組み合わせを試しました

この場合、コンパイラはエラーを出しますwrong number of parameters; expected = 2

だから私は sv.parameter_id を _.parameter_id に置き換えました。

constructor cannot be instantiated to expected type; found : models.Join required: (models.Parameters.type, models.SensorValues.type)

SLICK の最新バージョンを使用していますが、非推奨です。手動でインポートしました

import scala.slick.lifted.JoinONの代わりにWHEREを使用しているため、通常のinnerJoinのように見えます。

SQL で生成された購入クエリ:

select x2.id, x2.platform_id, x2.date, x3.x4, x3.x5, x3.x6, x7.x8, x7.x9, x7.x10, x7.x11 from (select x12.id as x4, x12.name as x5, x12.units as x6 from parameters x12) x3 left outer join (select x13.id as x8, x13.reading_id as x9, x13.parameter_id as x10, x13.value as x11 from sensorValues x13) x7 on x3.x4 = x7.x10, readings x2 where true and (x7.x9 = x2.id)

これでもON部にコンディションをプラスすればイイだろうな

しかし、これは決して起こりません。

代わりWHEREに が必要ANDです。この状態に言及するために何を使用する必要がありますか、それともそのための機能はありませんか?

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

database - scalaquery のさまざまな開発/運用データベース

ScalaQuery では、(AFAIK) コードでプロバイダー固有のインポートを使用する必要があります。次に例を示します。

H2 を開発モードで使用し、MySQL を本番環境で使用しようとしています。これを達成する方法はありますか?

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

scala - 同じテーブルへの結合時に無効なSQLを生成するScalaquery

アカウントの最新の行を見つけるために、同じテーブルに左結合する必要があるクエリがあります。

これにより、次のSQLが生成されます

問題はSubscription t2 left join Subscription t2. テーブルには、異なるエイリアスを指定する必要があります。

オブジェクトをコピーして貼り付けSubscriptions、クエリを次のように変更することで、この問題を回避しました。

このクエリは有効な SQL を生成しますが、理想的とは言えません。

これを回避する方法はありますか?SLICK で修正された場合は、scala 2.10 にジャンプします。

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

scala - scalaquery で SQLite 用に生成された、サポートされていない length() 関数

スカラクエリを使用して SQLite データベースのテキスト列の長さを取得しようとすると、間違った SQL が生成されます。私はこれを得る:

クエリが実際にあるべきとき

このforクエリを取得するために使用するコンプは

そして、私が持っているテーブル定義は

scalaquery が間違ったlength()関数を生成しているように見えますが、コードのどこでこれが発生したかを見つけることができず、インターネット上でこれについて何かを見つけたこともありません。

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

scala - これはどのように「タイプの不一致」ですか?

関連コード:

私も試しました

最終的な目標は、選択したすべての列を、タプルではなく、名前付きアクセサーを持つオブジェクトに変換することです。

アップデート:

問題の要点は次のとおりです(上記のコードから少し簡略化され、Intのみを使用することでString / java.lang.Stringの「混乱」を排除します)。