問題タブ [squeryl]
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.
scala - Play での Squeryl トランザクションの回避! コントローラー
Playを学んでいます!To do List のチュートリアルに従っています。さて、Anorm の代わりに Squeryl を使用したいので、チュートリアルを翻訳してみましたが、実際に動作します。
それでも、私を苛立たせる小さなことが 1 つあります。これが私のモデルの関連部分です
すべてのタスクを一覧表示するコントローラーの対応するアクション
ビューには、たとえば
私が気に入らないのは、タスクを更新または削除するメソッドとは異なり、コントローラー アクション内でトランザクションを管理する必要があることです。
メソッドに移動inTransaction
するとall
、例外が発生します。
ビューは のサイズを取得しようとしますtasks
が、トランザクションはその時点で既に閉じられているためです。
モデルでのみ Squeryl トランザクションを使用し、これらの詳細をコントローラー レベルまで公開しない方法はありますか?
scala - JodaTimeタイムスタンプがSquerylで再初期化されないのはなぜですか?
ORMにScala、JodaTime、Squerylを使用する。アプリケーションが起動すると、JodaTimeを使用して生成されたタイムスタンプが呼び出されるたびに再初期化されないという厄介な問題があります。代わりに、時間を1回設定し、SQLが呼び出されるたびに煩わしく再初期化することはありません。
以下のコード。まず、時間パラメータ:
そしてSquerylJOIN:
奇妙な部分は、 JodaTimeなしtodayEnd
でタイムスタンプを生成すると、毎回再初期化されることです。では、JodaTimeは何が違うのでしょうか?
scala - 新しい遊び!クラス コンパイラ エラー:「update not member...」
プレイ!Squeryl ORM を使用した Scala で。何が問題を引き起こしているのかわかりませんが、新しいモデルを Play! 非常に奇妙なエラーでコンパイルされなくなりました。
value update is not a member of models.OauthCred
this()
コンパイラは、特に Squeryl が必要とするゼロ引数のコンストラクタを指します。
コードは以下のとおりです。
何が原因でしょうか?
scala - Squeryl scala ですべて選択
クエリでいくつかのテーブルのすべてを選択しようとしています。where句を指定する必要があります(またはそう思います)、そこには何が入りますか?
scala - Playでユーザー検証を実装するにはどうすればよいですか!?
私はユーザーモデルを持っています。そのスキームは次のようになります。
クラッシュするだけでなく、新しいユーザーを検証するにはどうすればよいですか?
RuntimeException:ステートメントの実行中に例外が発生しました:一意のインデックスまたは主キー違反:
?
また、私はいかなる種類のフォームやビューも使用していません。APIを作成しているだけです...
scala - 移行の代替案を再生する
Play! を使用する新しいプロジェクトを開始しようとしています。おそらく ORM として Squeryl を使用する Scala 用の 2 フレームワーク (しかし、間に合うように準備ができていれば、おそらく Slick も問題ないでしょう)。
さあ、プレイ!移行を使用してデータベースをアップグレードする機能があります。残念ながら、これらの移行は SQL で記述されています。これは不便であるだけでなく (Scala でマイグレーションを記述できるようにしたいのですが)、2 つの問題があります。
- まず、自分で移行を作成する必要があります。私は、モデルの現在および以前の定義を見て、スキーマの移行を推測できるSouthに慣れています。
- 次に、データの移行を処理するのが非常に面倒です。プログラムでデータを変更する必要があるかもしれませんが、これはプレーン SQL では実行できないかもしれません。
だから、私は代替手段を探しています。スキーマの移行を自動的に生成する Scala ORM 用の移行ツールを見つけることができませんでした。
私が見つけた最良のツールはScala migrationsです。Play! を作る方法はありますか? 独自の移行ツールの代わりに自動的に使用しますか?
json - Squeryl クエリ オブジェクトを JSON に変換する方法 - Play Framework
場合
このケースでは、Scala、Play Framework、Jerkson、および Squeryl を使用しています。クエリの結果セットを JSON に変換しようとしていますが、結果には「永続化された」フィールドだけが表示されます。
質問
Json.generate() がすべてのエンティティ フィールドを出力しないのはなぜですか?
コントローラ
カテゴリ エンティティ
ベースエンティティ
問題
結果
期待される
scala - Squeryl カスタム フィールド タイプ
Squeryl でカスタム フィールド タイプを作成しようとしています。このフィールドはIsin コードを表すため、文字列フィールドによってバックアップされます。ドキュメントの例に従って、新しい isin を作成する前に簡単な検証を追加しました (Isin コードが何であるか、または検証手順がどのように機能するかは気にしないでください)。
println
何が起こっているのかを知るためにいくつか追加しました。次のようなモデル内でこのフィールドを使用します
今、Asset.create("US0378331005")
(有効な ISIN) を呼び出すと、例外が発生します。スタックトレースでは、この例外は、 に渡されると思われる値に対するinit
メソッドの呼び出しによるものであることがわかります。実際、ステートメントは印刷されますnull
checkIsin
println
したがって、validate
メソッドは実際には 2 回呼び出されているように見えますが、2 回目はnull
値を取得します。
何が間違っているのですか?
postgresql - Squeryl と PGObjects
私は問題を解決するのが非常に難しいことに直面しています...多くのpostgresql列挙型を使用している既存のデータベースがあります。
さて... postgresqlでこれらのフィールドを取得する方法がよくわかりません。誰かがそのようなことをすることができますか?
それらを文字列として取得しようとしましたが、機能しませんでした...また、それらを Int として取得することもできませんでした。
scala - Mixinがequalsをオーバーライドしてケースクラスの等式を壊さないようにする
Squeryl
KeyedEntity
をオーバーライドする特性を定義equals
し、ifでいくつかの条件をチェックsuper.equals
し、最後に呼び出します。なので、常に失敗しますsuper
。Object
検討:
したがって、あなたが宣言した場合
-そして、いくつかのRecord
インスタンスを作成しますが、それらを永続化しないと、それらの比較は失敗します。Salat
同じクラスの両方とSqueryl
バックエンドを実装することでこれを見つけましたが、 fromがfalseであるSalat
ため、すべてのテストが失敗します。isPersisted
KeyedEntity
KeyedEntity
ケースクラスに混合された場合にケースクラスの同等性を維持する設計はありますか?ケースクラスタイプをPとしてセルフタイピングとパラメーター化を試みBetterKeyedEntity[K,P] { self: P => ... }
ましたが、equalsで無限再帰が発生します。
現状では、オーバーライドされたequalsinの最後のブランチはsuper
常にfalseを返します。Object
KeyedEntity