問題タブ [sequel]

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 投票する
3 に答える
2306 参照

ruby - 1つのプロセスで複数のデータベース接続のsinatraアプリケーションで使用するORMは何ですか?

ActiveRecord、DataMapper、Sequelをチェック:グローバル(静的変数)を使用するものもあれば、モデルを含むソースファイルをロードする前にデータベース接続を開く必要があるものもあります。さまざまなデータベースを使用するsinatraアプリケーションで使用するのに適したORM。

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

ruby - Sequel の last_insert_id メソッドはありますか?

挿入後、行から ID を知る必要があります。どうすればよいですか?

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

ruby - データベースへの既存の ruby​​ の続編接続を切断するには?

私は以前に確立されたものを意味します

また

また

またはなど。

Sequel::Database クラスには、「接続」はありますが、「切断」などと呼ばれるパブリック インスタンス メソッドはありません。

誰かがすでにその問題に直面しているかもしれません。任意のアイデアをいただければ幸いです。

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

ruby - Ruby のデータベース抽象化/アダプター

Ruby で使用しているデータベースの抽象化/アダプターは何ですか? 私は主にデータ指向の機能に興味がありますが、オブジェクト マッピング (アクティブ レコードやデータ マッパーなど) には興味がありません。

現在Sequelを使用しています。他のオプションはありますか?

私は主に興味があります:

  • シンプルでクリーンで曖昧でない API
  • データの選択 (当然)、フィルタリング、集計
  • フィールドマッピングなしの生の値の選択: SELECT col1, col2, col3 => [val1, val2, val3] { :col1 => val1 ...} のハッシュではありません
  • 選択する列/値のリストを渡すことができます: select(array_of_columns) (列が既知である必要がある dataset.select(:col1, :col2, :col3) ではありません)
  • API は、テーブル スキーマ 'some_schema.some_table' を一貫した (そして機能する) 方法で考慮します。これも反映(テーブルからスキーマを取得)
  • データベース リフレクション: テーブル列、それらのデータベース ストレージ タイプ、およびおそらくアダプターの抽象化タイプのリストを取得します
  • テーブルの作成、削除
  • 列挙されているテーブルからすべてのレコードをフェッチする必要なく、別のテーブルからの選択を列挙するループで他のテーブルを操作 (挿入、更新) できる

目的は、コードの記述時に未知の構造を持つデータを操作することです。これは、構造または構造の大部分が通常よく知られているオブジェクト マッピングとは逆です。オブジェクト マッピングのオーバーヘッドは必要ありません。

オブジェクト マッピング ライブラリのバックエンドを含め、どのようなオプションがありますか?

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

sql - Sequel で生の SQL クエリを実行する方法

Sequel で生の SQL クエリを実行する適切な方法については、まだ明確ではありません。

現在、私はこれを試しています:

クエリを生の SQL として実行し、通常のように結果にアクセスするにはどうすればよいですか?

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

ruby - 続編の例が実行されない

Ruby の「続編」gem をインストールしました。Sequel Web サイトの例を試してみたかったのですが、うまくいきません :( test.rb:

コンソール:

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

ruby - より複雑な Sequel の選択

Sequel には単純なデータベースがあります。

質問: DateTime のような「奇妙な」オブジェクトをデータベースに保存するのは良い考えですか?

「2010」を出力するので、うまくいきます。しかし、それでも私はそれについて非常に興味があります。問題がなければ、フィルタリングはどうでしょうか。そういうもの:

...うまくいきません。他の方法でそれを行うことは可能ですか?どのように?

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

ruby-on-rails - Active Record から Sequel への移行方法

私は Rails3.rc と Active Record 3 (meta_where を使用) を使用していますが、Sequel に切り替え始めたばかりです。

私はすでに active_model プラグイン (およびその他のプラグイン) を使用しています。

  1. 私の知る限り、User[params[:id]]の代わりに使用する必要がありUser.find(params[:id])ます。ただし、レコードが存在しない場合は発生せず、値を整数 (PK の型) に変換しないため、where句内の文字列として使用されます。これがパフォーマンスの問題を引き起こしているかどうかはわかりません。これは害がありidentity_mapますか?これらの両方の問題を解決する最善の方法は何ですか?

  2. User.messages_datasetおよびのような関連付けの使用法を反転して、Active Record のように動作させる簡単な方法はありますか ( User.messages) 。私はたくさん使うと思いますが、単に追加できるので、配列メソッドは必要ありません。User.messagesUser.messages_data_set#..._dataset.all

  3. 同じ (複雑な) クエリが 1 つのアクション内で複数回実行される場合があることに気付きました。Active Record クエリ キャッシュのようなものはありますか? (identity_mapこれらのケースではうまくいかないようです)。

  4. to_sqlデータセットが生成する生の SQL を取得するために呼び出すことができるものはありますか?

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

mysql - Mysql / Ruby Sequelは最後にID値を挿入しますが、どの方法ですか?

Rubyの続編を使用してlast_insert_id()を取得したいだけです。

SELECTクエリはlast_idを返す必要がありますが、.runはそれを返しません。代わりにどの方法を使用すればよいですか?

解決策: (JoshLindseyに感謝します)

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

ruby-on-rails - Sequel::Model の検証はインスタンス メソッドのみですか?

before_validationActiveRecord の最新バージョンでは、単純な宣言を使用して任意の数のハンドラーを定義できます。

Sequel を使用すると、これを行うことができる唯一の方法は、古い ActiveRecord メソッドに似ているように見えます。

簡略化された宣言を追加するプラグインはありますか、それともそのままですか? Sequel のドキュメントには、あまり明確な図が描かれていません。MyModel.before_validationクラスメソッドが定義されていません。

更新:以下の回答が示すように、この動作は既定では存在しません。これを修正する Sequel::Model プラグインを作成しました、sequel_simple_callbacksと呼ばれます