Ruby Sequel Gemの使用方法(例付き)
続編とは何ですか?
Sequelは、Railsを必要とせずにデータベースにアクセスできるようにする宝石です。
さまざまな方法でデータベースに接続できます。
ほとんど2つ :
- 生のSQLコマンドを送信することによって
- ORMを使用する
生のSQLとMySQLデータベースを使用した例を次に示します。
require 'mysql2' client = Mysql2::Client.new(host: "localhost") results = client.query("SELECT * FROM users WHERE age > 21")
結果は?
データを含むハッシュの配列。
今 :
オブジェクト指向の方法でデータを処理する場合は、結果をオブジェクトにする必要があります。
これは、ORMが行うことの大きな部分です。
ORMとは何ですか?
ORMは「Object-Relational-Mapping」の略です。
SQLの発声にちなんで名付けられた続編 (データベースのクエリ言語)はORMです。
使い方を見つけましょう!
続編の例:データベースへの接続
Sequelの使用を開始する最初のステップは、データベースに接続することです。
ここに例があります :
require 'sequel' DB = Sequel.sqlite('/tmp/testing.db')
これにより、Sequel::Database
が作成されます オブジェクト&それをDB
に割り当てます 。
ここではSQLite3データベースを使用しています。
ただし、他のユーザーを使用することはできます :
-
Sequel.postgres
-
Sequel.mysql2
-
Sequel.oracle
次は何ですか?
データを保存するためのテーブルを作成する必要があります。
作成方法は次のとおりです :
unless DB.table_exists?(:fruits) DB.create_table :fruits do primary_key :id column :name, String column :amount, Integer end end
使用できる移行システムがあります。
ただし、オプション 。
これで、データの追加とデータベースのクエリを開始する準備が整いました。
続編データセットの使用方法
データベース上の特定のテーブルと対話するには、データセットオブジェクトが必要です。
入手方法は次のとおりです :
table = DB[:fruits] # Sequel::SQLite::Dataset
すばらしい!
これで、insert
を使用していくつかのレコードを追加できます メソッド。
このように :
table.insert(name: "Orange", amount: 10) table.insert(name: "Apple", amount: 2) table.insert(name: "Banana", amount: 7)
カウントを取得しましょう :
table.count # 3
データセット内のすべてのエントリを取得しましょう :
table.all # [ # { id: 1, name: "Orange", amount: 10 }, # { id: 2, name: "Apple", amount: 2 }, # { id: 3, name: "Banana", amount: 7 } # ]
ねえ!
これはハッシュの配列のように見えます。
そうですね。
それがまさにこれです。
Sequel
モデルなしでデータベースにクエリを実行できます。
ただし、モデルを使用できます 。
方法は次のとおりです…
続編でモデルを使用する方法
Sequel
モデルはActiveRecord
によく似ています モデル。
ここに例があります :
class Fruit < Sequel::Model end
モデルはデータセットとまったく同じように動作しますが、結果をモデルクラスにラップします。
ご覧ください :
Fruit.first # Fruit @values={:id=>1, :name=>"Orange", :amount=>10}
同じSequel::Dataset
を使用できます メソッド。
したがって、ここには「魔法」はありません。
さらにいくつかの例 :
Fruit.map(:name) # ["Orange", "Apple", "Banana"] Fruit.where(name: "Apple").or(amount: 10).map(:name) # ["Orange", "Apple"] Fruit.first[:amount] # 10
とてもいいです!
続編とActiveRecord
これで、Sequel
のすばらしさを学びました。 つまり、ActiveRecord
とどのように比較されるのか疑問に思われるかもしれません。 。
ええと、ActiveRecord
RailsのデフォルトのORMです。
そしてRailsは本当に コンベンションが好きです。
したがって、ActiveRecord
を置き換える価値はないと思います。 Sequel
を使用 Railsアプリで。
ただし。
Sinatraなどの別のフレームワークを使用している場合は、Sequel
素晴らしい選択です!
概要
ORM(この場合はSequel Ruby gem)を使用してRubyでデータベースを操作する方法を学びました。
今度はこれを試して楽しんでください!
読んでくれてありがとう。
-
Rubyでファイルを読み書きする方法(例付き)
今日は、Rubyでファイルを読み書きして、コンテンツを抽出し、新しいファイルを作成し、必要な情報を見つける方法を学びます。 これから説明します : コンテンツ 1Rubyでファイルを読み取る方法 2Rubyでファイルに書き込む方法 3つのRubyファイルメソッド 4つのディレクトリ操作 5FileUtilsモジュールの使用方法 6まとめ 6.1関連 やってみましょう! Rubyでファイルを読み取る方法 次のようにRubyでファイルを読み取ることができます: ファイルを開く 、open メソッド。 ファイルを読む 、ファイル全体、行ごと、または特定のバイト数。 ファイルを
-
Linuxでwatchコマンドを使用する方法と例
Linuxのwatchコマンドは1つのことを行います。コマンドを繰り返し、結果を繰り返し出力して、変更を監視できるようにします。使用方法は次のとおりです。 watchコマンド構文 watchコマンドの構文は次のとおりです。 watch OPTIONS COMMAND 注: オプション 以下の表のオプションのリストである必要があります。これにより、ウォッチのデフォルトの動作が変更されます。 コマンド コマンド 監視するコマンドです 繰り返し実行する必要があります。これは、出力を監視します 見る 中断されるまで実行されます(したがって、 CTRL+Cを押して終了します ) オプション 時