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を押して終了します ) オプション 時