問題タブ [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.
ruby - Sequelを使用してレコードを作成する場合、「Sequel :: Error:idは制限された主キーです」
SequelとOracleアダプタに基づくモデルがあります。
Oracleのsequence.nextvalを主キーとして使用してレコードを作成しようとすると、次のようになります。
エラーが発生しました:Sequel::Error: id is a restricted primary key
。id
このような場合にレコードを作成する、またはOracleのシーケンスを列に「マップ」する正しい方法は何ですか。または多分、私は使用する必要がありますunrestrict_primary_key
か?
ruby - Sequel でモデルを再帰的に保存するにはどうすればよいですか?
Sequel と Sequel::Model で遊んでいます。
Group
多Items
(one_to_many)でを作成しました。
できます:
だがしかし:
または:
Group
主キーがないことについて文句を言います。
保存するgroup
と、保存されますが、アイテムは保存されません。
すべてを再帰的に保存するにはどうすればよいですか?
ruby - テーブル名からモデル名を検索する(Sequel ORM)
rubyスクリプトでは、テーブルのリストからテーブル名を動的に取得するループを実行しており、その上で何らかのCRUD操作(主に挿入)を実行する必要があります。私はSequelOrmを使用しており、さまざまなテーブルのモデルを作成しました。挿入を実行できるように、各テーブルのモデルの名前を見つけるにはどうすればよいですか?
ハッシュを使用して各テーブルのモデル名を格納することも、各テーブルの最初の文字を大文字に変換するなどのパターンに従うこともできます。
これを行うためのより良い方法はありますか?
ruby - Ruby文字列からメソッド名エラー:未定義のメソッド `call ='for#(NoMethodError)
オブジェクトobjのメソッドのリストを動的に呼び出す必要があります。メソッドオブジェクトをインスタンス化してから呼び出しようとしています。
method_name(文字列)は、オブジェクトobjで呼び出すことができるメソッドの名前です。
次のエラーが発生します。
#の未定義メソッド `call ='(NoMethodError)
Sequel ORMを使用しており、モデルの関連付けを動的に保存する必要があります。method_nameを直接呼び出すと(method_nameが文字列でない場合)、次のように機能します
ただし、method_nameが文字列の場合、次のように構文エラーが発生します。
構文エラー、予期しない'='、keyword_endが必要です
そのため、上記のいずれの方法を使用しても、名前から文字列形式でメソッドを呼び出すことはできません。
ruby - SequelでSQL配列スライスを使用して注文するにはどうすればよいですか?
SQL配列値のスライスで並べ替えるSequelの適切な構文は何ですか?
SQLでやりたいことは次のとおりです。
続編では、私は次のことができました:
ただし、これは、必要に応じてスライスで:a
はなく、すべてで並べ替えます。[0:depth]
適切な構文は何ですか?
ruby - Sequelデータセットを更新または挿入するにはどうすればよいですか?
本当に小さなSinatraアプリでSequelを使い始めたところです。DBテーブルが1つしかないので、モデルを使用する必要はありません。
レコードが存在する場合は更新し、存在しない場合は新しいレコードを挿入したい。私は次の解決策を思いついた:
データセットはどこ$nums
にありますかDB[:numbers]
。
この方法は、「更新または挿入」動作の最も洗練された実装ではないと思います。
それはどのように行われるべきですか?
ruby - WARファイル内からのrakeタスクの実行
私のコードベースは当初、ルビーで書かれていました。rakefile.rb
データベースの移行を実行するためのファイルがありました。後で、展開を簡単にするために全体をjrubyに変更しました。私が直面している唯一の問題は、rakeタスクを実行する方法(db移行を実行するため)です。
私は試した
1がバージョンですが、これは機能しませんでした。
これは私に与えました:
どんな助けでもありがたいです
-ありがとう
ruby - MSSQL-Server / ruby-gemの続編:UTF-8値を読み取る方法は?
私はruby-gemの続編を使用して、MSSQL-Serverテーブルからutf-8でエンコードされたデータを読み取ります。表のフィールドは次のように定義されnvarchar
ています。MicrosoftServerManagementStudioでは正しく表示されます(キリル文字はキリル文字で、中国語は中国語に見えます)。
データベースを
これは英語では問題なく機能し、ドイツ語でも使用可能な結果が返されます。
ただし、結果はに変換されCP850
、元のではありませんUTF-8
。
キリル文字(私はブルガリア語でテストしました)と中国語は「?」のみを生成します CP850
(中国語とブルガリア語の文字が含まれていないため、合理的です)。
また、odbc-connectionを介して接続しました。
結果はASCII-8BIT
、データforce_encoding
をCP1252(CP850ではありません!)に変換する必要があります。しかし、キリル文字と中国語はまだ不可能です。
私がすでに試したこと:
- MySQLアダプターにはエンコードオプションがあるようですが、MSSQLでは効果が検出されませんでした。
- sqliteとsequelで同様のテストを行いましたが、Unicodeでは問題ありませんでした。
- インストール
SQLNCLI10.dll
してプロバイダーとして使用しました。しかし、無効な接続文字列属性-errorを取得します(と同じsqlncli
)。
だから私の最後の質問:ルビーと続編を介してMS-SQLでUTF-8データを読み取るにはどうすればよいですか?
私の環境:
クライアント:
- Windows 7
- Ruby 1.9.2
- 続編-3.33.0
データベース:
- SQL Server 2005
- データベースには照合がありますLatin1_General_CI_AS
質問を準備した後、私は解決策を見つけました。回答として投稿します。しかし、私はまだ願っています、より良い方法があります。
ruby - 続編モデルジェネレーターは存在しますか?
mySQL データベースのテーブルの定義を読み取った後、Ramaze の続編モデル ファイルを生成できる Ruby クラスを探しています。たとえば、次のように入力します。
ruby mySuperGenerator.rb "mytable"
そして、結果は「モデル」ディレクトリのファイル「mytable.rb」になり、次のものが含まれます。
そのようなジェネレータが存在するかどうか誰かが知っていますか?
ruby - 続編でのDatamapperのfirst_or_create相当?
Datamapperのfirst_or_create
メソッドを実装するためのネイティブのSequel方法はありますか?
または、選択と挿入を組み合わせる必要がありますか?