アダプター: sqlite3データベース: lib / db / development.sqlite3
require 'rubygems' require 'active_record' require 'yaml' # dbconfig = YAML :: load ( File . open ( File . join ( File . dirname ( __FILE__ ) , 'database.yml' ) ) ) # () ActiveRecord::Base . logger = Logger . new ( STDERR ) # Simple logging utility. logger.rb -- standart lib # ActiveRecord::Base . establish_connection ( dbconfig )require 'rubygems' require 'active_record' require 'yaml' # dbconfig = YAML :: load ( File . open ( File . join ( File . dirname ( __FILE__ ) , 'database.yml' ) ) ) # () ActiveRecord::Base . logger = Logger . new ( STDERR ) # Simple logging utility. logger.rb -- standart lib # ActiveRecord::Base . establish_connection ( dbconfig )require 'rubygems' require 'active_record' require 'yaml' # dbconfig = YAML :: load ( File . open ( File . join ( File . dirname ( __FILE__ ) , 'database.yml' ) ) ) # () ActiveRecord::Base . logger = Logger . new ( STDERR ) # Simple logging utility. logger.rb -- standart lib # ActiveRecord::Base . establish_connection ( dbconfig )require 'rubygems' require 'active_record' require 'yaml' # dbconfig = YAML :: load ( File . open ( File . join ( File . dirname ( __FILE__ ) , 'database.yml' ) ) ) # () ActiveRecord::Base . logger = Logger . new ( STDERR ) # Simple logging utility. logger.rb -- standart lib # ActiveRecord::Base . establish_connection ( dbconfig )require 'rubygems' require 'active_record' require 'yaml' # dbconfig = YAML :: load ( File . open ( File . join ( File . dirname ( __FILE__ ) , 'database.yml' ) ) ) # () ActiveRecord::Base . logger = Logger . new ( STDERR ) # Simple logging utility. logger.rb -- standart lib # ActiveRecord::Base . establish_connection ( dbconfig )require 'rubygems' require 'active_record' require 'yaml' # dbconfig = YAML :: load ( File . open ( File . join ( File . dirname ( __FILE__ ) , 'database.yml' ) ) ) # () ActiveRecord::Base . logger = Logger . new ( STDERR ) # Simple logging utility. logger.rb -- standart lib # ActiveRecord::Base . establish_connection ( dbconfig )require 'rubygems' require 'active_record' require 'yaml' # dbconfig = YAML :: load ( File . open ( File . join ( File . dirname ( __FILE__ ) , 'database.yml' ) ) ) # () ActiveRecord::Base . logger = Logger . new ( STDERR ) # Simple logging utility. logger.rb -- standart lib # ActiveRecord::Base . establish_connection ( dbconfig )require 'rubygems' require 'active_record' require 'yaml' # dbconfig = YAML :: load ( File . open ( File . join ( File . dirname ( __FILE__ ) , 'database.yml' ) ) ) # () ActiveRecord::Base . logger = Logger . new ( STDERR ) # Simple logging utility. logger.rb -- standart lib # ActiveRecord::Base . establish_connection ( dbconfig )require 'rubygems' require 'active_record' require 'yaml' # dbconfig = YAML :: load ( File . open ( File . join ( File . dirname ( __FILE__ ) , 'database.yml' ) ) ) # () ActiveRecord::Base . logger = Logger . new ( STDERR ) # Simple logging utility. logger.rb -- standart lib # ActiveRecord::Base . establish_connection ( dbconfig )
require 'rubygems' require 'active_record' require 'yaml' # dbconfig = YAML :: load ( File . open ( File . join ( File . dirname ( __FILE__ ) , 'database.yml' ) ) ) # () ActiveRecord::Base . logger = Logger . new ( STDERR ) # Simple logging utility. logger.rb -- standart lib # ActiveRecord::Base . establish_connection ( dbconfig )
クラス CreateMoonRiseTimes < ActiveRecord ::移行デフセルフ 。 アップcreate_table :moon_rise_times do | t |t。 文字列 :日t。 文字列 :時間終わり終わりデフセルフ 。 ダウンdrop_table :moon_rise_times終わり終わり
「lib / config / environment.rb」が 必要です#rake docs.rubyrake.orgのドキュメント#名前空間-rake.rubyforge.org/classes/Rake/NameSpace.html名前空間:db dodesc 「データベースの移行」タスク:移行 する#lib / db / migrateからすべての移行を実行し、#メソッドはパラメーターを取ります:migrate(migrations_path、target_version = nil)#私たちの場合#migrations_path = lib / db / migrate#target_version = ENV ["VERSION"]? ENV ["バージョン"]。To_i:nil#移行はrake dbとして開始します:migrate VERSION = version_numberActiveRecord ::移行 。 migrate ( 'lib / db / migrate' 、ENV [ "VERSION" ] ?ENV [ "VERSION" ] 。 to_i : nil )終わり終わり
$ rake db: VERSION = 1に移行 ( in / home / data / projects / ActiveRecord-without-Rails ) == CreateMoonRiseTimes:移行中===========================================-create_table ( :moon_rise_times )SQL ( 1.0ms ) CREATE TABLE "moon_rise_times" ( "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL、 "day" varchar ( 255 ) 、 "time" varchar ( 255 ) )- > 0.0019s== CreateMoonRiseTimes:移行済み( 0.0020s ) ==================================SQL ( 0.1ms ) INSERT INTO schema_migrations (バージョン) VALUES ( '1' )
#nokogiriの動作をテストする小さなスクリプトを含むファイル。$ KCODE = "u"「jcode」が 必要「rubygems」が 必要「open-uri」 が必要「iconv」が 必要「のこぎり」が 必要#HTMLドキュメントをダウンロードするソース= オープン ( "pogoda.yandex.ru/26063/details/" )#ロードされたドキュメントからnokogiriオブジェクトを作成しますデータ= のこぎり:: HTML (ソース)#検索方法と単純なxpath式を使用して、htmlテーブルのすべての行を取得する#wiki.github.com/tenderlove/nokogiri=開始月の出の日付を見つけるためのソースhtmlファイルのフラグメント:)<th class = "date" rowspan = "4"> <b title = ""> 9 </ b> <span> 7月<< / span> </ th>=終了data_html =データ。 search ( "th [@class = date] // b" ) 。 最初に 。 inner_html + "" +データ。 search ( "th [@class = date] // span" ) 。 最初に 。 inner_htmldata_htmlを置きます=開始上記で定義した日の月の出の時刻を見つける必要があるソースhtmlファイルのフラグメント:)<td class = "dawn-dark" rowspan = "4"><dl><dt>日の出</ dt><dd> 04:52 </ dd><dt>日没</ dt><dd> 23:15 </ dd></ dl><img src = "// i.yandex.st/weather/i/moon/07.gif" alt = "Waning moon" title = "Waning moon"></ td>=終了time_html =データ。 search ( "td [@class = dawn-dark] // dl // dd" ) 。 最初に 。 inner_htmltime_htmlを置きます
$ ruby lib / test_search.rb7月10日04:03
$ KCODE = "u"「jcode」が 必要「rubygems」が 必要「active_record」が 必要「yaml」が 必要「ロガー」が 必要「open-uri」 が必要「iconv」が 必要「のこぎり」が 必要#environment.rb設定ファイルとデータベース接続をロードファイルが 必要 です 。 join ( File。dirname ( __FILE__ ) 、 'config / environment.rb' )#moon_rise_timesテーブルをラップするMoonRiseTimeクラスを作成します#テーブルのセル:日-データを入力、rise_times-時間を入力#クラス MoonRiseTime < ActiveRecord :: Base終わりMoonRiseTime。 作成 する | moon_rise_time |#HTMLドキュメントをダウンロードするソース= オープン ( "pogoda.yandex.ru/26063/details/" )#ロードされたドキュメントからnokogiriオブジェクトを作成しますデータ= のこぎり:: HTML (ソース)#検索方法と単純なxpath式を使用して、htmlテーブルのすべての行を取得する#nokogiri.org/Nokogiri/XML/Node.html#method-i-inner_html#:TODO:データ型をデータと時間にキャストする#元のhtml日付を見つけるdata_moon_rise =データ。 search ( "th [@class = date] // b" ) 。 最初に 。 inner_htmlmonth_moon_rise =データ。 search ( "th [@class = date] // span" ) 。 最初に 。 inner_html#見つかったデータをデータベースラッパークラスのメソッドに渡すmoon_rise_time。 日 = data_moon_rise + "" + month_moon_risemoon_rise_time。 時間 =データ。 search ( "td [@class = dawn-dark] // dl // dd" ) 。 最初に 。 inner_html終わり
ruby lib / main.rbMoonRiseTime Create ( 0.4ms ) INSERT INTO "moon_rise_times" ( "time" 、 "day" ) VALUES ( '04:53 ' 、 ' July 10 ' )
#テスト用の小さなスクリプトでファイル#moon_rise_timesテーブルからデータを取得します。#構成ファイルをロードし、environment.rbファイルでデータベースに接続しますファイルが 必要 です 。 join ( File。dirname ( __FILE__ ) 、 'config / environment.rb' )#moon_rise_timesテーブルをラップするMoonRiseTimeクラスを作成します#テーブルセル:日、時間-文字列を入力クラス MoonRiseTime < ActiveRecord :: Base終わり#データベースからすべてのレコードをfetch_resultに抽出しますfetch_result = MoonRiseTime。 すべて#fetch_resultを表示fetch_result それぞれ が | result_item |result_itemを配置します。 idresult_itemを配置します。 時間result_itemを配置します。 日終わり
$ ruby lib / test_fetch_data.rbMoonRiseTimeロード( 0.5ms ) SELECT * FROM "moon_rise_times"104:037月10日
Source: https://habr.com/ru/post/J98751/More articles:アイデアは実装の要素にすぎません情報を失うことなく、複数のセクションを1つにまとめる2つの画像のシンプルなオーバーレイ音声キーボードレイアウトJCUKENGoogleマップのショートリンクバザーをフィルター処理する:シンプルで機能的なデータフィルターを作成するMac OS Xで便利なキーボードレイアウト切り替えを提供するVimプラグイン素晴らしいベラルーシのファイアウォールGalaxy S vs HTC Desire:Quake2実行テストメディアプレーヤーPowerZest HD-500All Articles