SlideShare a Scribd company logo
activerecord-orale_enhanced-
       adapterのご紹介
      今井(   田)尚人(@elcondor)
自己紹介
Ruby歴=Rails歴=3年半くらい

JRuby歴=半年ちょこっと

好きなメソッドはModule#included,
Class#class_eval
JRubyで日本語Cucumberを動くように
しました
本日のまとめ

RailsでOracleを使う場合は、
activerecord-oracle_enhanced-adapterが
オススメ
OracleでRails?
オープンレガシーな企業情報システムと
いえば、DBはOracleのことが多い
→既存システムを活かしたままRailsを使う
なら、RailsもOracleに直接つなぐのが楽

JRubyは、オープンレガシーとの協調、という文
脈で扱われることが多いので、OracleでRailsと
いうのも真剣に考えておいて損はない(多分)
What’s oracle_enhaced?

 Oracle Databaseと繋げます(当たり前)


 MRIでもJRubyでも使えます


 痒いところに手が届いてます
痒いところに手が届く?
例えばこんな場合
class	 CreateUsers	 <	 ActiveRecord::Migration
	 	 def	 self.up
	 	 	 	 create_table	 :users	 do	 |t|
	 	 	 	 	 	 ...
	 	 	 	 	 	 t.date	 :start_on,	 :null	 =>	 false
	 	 	 	 	 	 t.date	 :end_on
	 	 	 	 	 	 t.datetime	 :last_logged_at
	 	 	 	 	 	 ...
	 	 	 	 end
	 	 end

	 	 ...
end
start_on/end_onは日付、last_logged_atは日時
DB定義は...
    Column          Type   Size
             ....
   START_ON         DATE    7
    END_ON          DATE    7
LAST_LOGGED_AT      DATE    7
            ....
             .
DB定義は...
     Column          Type   Size
              ....
    START_ON      DATE       7
     END_ON       DATE       7
 LAST_LOGGED_AT   DATE       7
             ....
              .
日付も日時も、OracleならDATE型
どう困る?
irb(main):001:0>	 User.create!(:name	 =>	 'さんぷる',
	 	 :login	 =>	 'sample',	 :password	 =>	 'password',
	 	 :start_on	 =>	 Date.current)
=>	 #<User	 id:	 10001,	 name:	 "さんぷる",
	 	 login:	 "sample",	 password:	 "password",
	 	 start_on:	 "2010-12-25	 15:00:00",	 end_on:	 nil,
	 	 last_logged_at:	 nil,	 description:	 nil,
	 	 created_at:	 "2010-XX-XX	 XX:XX:XX",	 
	 	 updated_at:	 "2010-XX-XX	 XX:XX:XX">
どう困る?
irb(main):001:0>	 User.create!(:name	 =>	 'さんぷる',
	 	 :login	 =>	 'sample',	 :password	 =>	 'password',
	 	 :start_on	 =>	 Date.current)
=>	 #<User	 id:	 10001,	 name:	 "さんぷる",
	 	 login:	 "sample",	 password:	 "password",
	 	 start_on:	 "2010-12-25	 15:00:00",	 end_on:	 nil,
	 	 last_logged_at:	 nil,	 description:	 nil,
	 	 created_at:	 "2010-XX-XX	 XX:XX:XX",	 
	 	 updated_at:	 "2010-XX-XX	 XX:XX:XX">


Dateで取り扱いたいカラムがTimeに
マッピングされて困る
そこで
oracle_enhanced-adapter
       ですよ
まずはdatabase.yml
development:
	 	 adapter:	 oracle_enhanced
	 	 uri:	 jdbc:oracle:thin:@host:1521:xe
	 	 connection_alive_sql:	 ‘select	 1	 from	 dual’
まずはdatabase.yml
development:
	 	 adapter:	 oracle_enhanced
	 	 uri:	 jdbc:oracle:thin:@host:1521:xe
	 	 connection_alive_sql:	 ‘select	 1	 from	 dual’


adapterにoracle_enhancedを指定
モデルクラスの実装

class	 User	 <	 ActiveRecord::Base
	 	 set_date_columns	 :start_on,	 :end_on
	 	 ...
end
モデルクラスの実装

 class	 User	 <	 ActiveRecord::Base
 	 	 set_date_columns	 :start_on,	 :end_on
 	 	 ...
 end



set_date_columnsで日付扱いするカラムを
指定
それでどうなった?
irb(main):006:0>	 User.create!(
	 	 :name	 =>	 'さんぷる',:login	 =>	 'sample',
	 	 :password	 =>	 'password',
	 	 :start_on	 =>	 Date.current)
=>	 #<User	 id:	 10002,	 name:	 "さんぷる",
	 	 login:	 "sample",	 password:	 "password",
	 	 start_on:	 "2010-12-25",	 end_on:	 nil,
	 	 last_logged_at:	 nil,	 description:	 nil,
	 	 created_at:	 "2010-12-25	 22:18:58",
	 	 updated_at:	 "2010-12-25	 22:18:58">
それでどうなった?
irb(main):006:0>	 User.create!(
	 	 :name	 =>	 'さんぷる',:login	 =>	 'sample',
	 	 :password	 =>	 'password',
	 	 :start_on	 =>	 Date.current)
=>	 #<User	 id:	 10002,	 name:	 "さんぷる",
	 	 login:	 "sample",	 password:	 "password",
	 	 start_on:	 "2010-12-25",	 end_on:	 nil,
	 	 last_logged_at:	 nil,	 description:	 nil,
	 	 created_at:	 "2010-12-25	 22:18:58",
	 	 updated_at:	 "2010-12-25	 22:18:58">
 set_date_columnsメソッドによって、
 日付型としての取り扱いを強制できた
それだけ?

他にも

命名規則で日付型かどうかを決めたり

文字列カラムをフラグに使えたりとか

細かく困りそうなところに手が届く
というわけで再まとめ

Oracleでハマりがちな罠を回避するのに、
activerecord-oracle_enhanced-adapterが役立
つので、ぜひ使いましょう

% (sudo) jruby -S gem install activerecord-
oracle_enhanced-adapter
終

More Related Content

What's hot (20)

PDF
Devsの常識、DBAは非常識
yoku0825
 
PDF
ScalaMatsuri 2016
Yoshitaka Fujii
 
PDF
MySQL 5.7が魅せる新しい運用の形
yoku0825
 
PDF
1周遅れのScala入学 #nds41
Kazumune Katagiri
 
PPTX
My sqlで2億件のシリアルデータと格闘した話
saiken3110
 
PPTX
Sql world を支える技術
Oda Shinsuke
 
PDF
Reading Anorm 2.0
Kazuhiro Sera
 
PDF
MySQLアンチパターン
yoku0825
 
PDF
MySQLステータスモニタリング
yoku0825
 
PDF
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
yoyamasaki
 
PDF
今から備えるMySQL最新バージョン5.7
yoku0825
 
PPTX
[LT] T sql の parse と generator
Oda Shinsuke
 
PDF
MySQL のユーザー定義変数と RDB のココロ
tsudaa
 
PDF
Slick入門
chibochibo
 
PDF
わたしを支える技術
yoku0825
 
PDF
光のMySQL 5.7
yoku0825
 
PDF
MySQL 5.7の次のMySQLは
yoku0825
 
PDF
Webで役立つRDBの使い方
Soudai Sone
 
PDF
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
 
PDF
【GCPUG滋賀】BigQueryでさるでもわかるSQL(20190323)
Misaki Hisamura
 
Devsの常識、DBAは非常識
yoku0825
 
ScalaMatsuri 2016
Yoshitaka Fujii
 
MySQL 5.7が魅せる新しい運用の形
yoku0825
 
1周遅れのScala入学 #nds41
Kazumune Katagiri
 
My sqlで2億件のシリアルデータと格闘した話
saiken3110
 
Sql world を支える技術
Oda Shinsuke
 
Reading Anorm 2.0
Kazuhiro Sera
 
MySQLアンチパターン
yoku0825
 
MySQLステータスモニタリング
yoku0825
 
[D14] MySQL 5.6時代のパフォーマンスチューニング *db tech showcase 2013 Tokyo
yoyamasaki
 
今から備えるMySQL最新バージョン5.7
yoku0825
 
[LT] T sql の parse と generator
Oda Shinsuke
 
MySQL のユーザー定義変数と RDB のココロ
tsudaa
 
Slick入門
chibochibo
 
わたしを支える技術
yoku0825
 
光のMySQL 5.7
yoku0825
 
MySQL 5.7の次のMySQLは
yoku0825
 
Webで役立つRDBの使い方
Soudai Sone
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
 
【GCPUG滋賀】BigQueryでさるでもわかるSQL(20190323)
Misaki Hisamura
 

Similar to activerecord-oracle_enhanced-adapterのご紹介 (20)

PDF
スマートフォン向けサービスにおけるサーバサイド設計入門
Hisashi HATAKEYAMA
 
PDF
MySQL57 Update@OSC Fukuoka 20151003
Shinya Sugiyama
 
PDF
SQLQL は GraphQL にとってなんなのか
yancya
 
PPTX
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
Cloudera Japan
 
PPTX
R超入門機械学習をはじめよう
幹雄 小川
 
PDF
named_scope more detail - WebCareer
Kyosuke MOROHASHI
 
PDF
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
Insight Technology, Inc.
 
PDF
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
 
PDF
scala-kaigi1-sbt
Kenji Yoshida
 
PDF
Ruby で扱う LDAP のススメ
Kazuaki Takase
 
PDF
Functional JavaScript with Lo-Dash.js
Shogo Sensui
 
PDF
Oracle Database Connect 2017 / JPOUG#1
Noriyoshi Shinoda
 
PPTX
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
Ryusuke Kajiyama
 
PDF
PHP開発者のためのNoSQL入門
じゅん なかざ
 
PDF
Oracle Database Standard EditionでセミオンラインDDL
Kentaro Kitagawa
 
PDF
AlfrescoとSolr(後編)
Ashitaba YOSHIOKA
 
PDF
hscj2019_ishizaki_public
Kazuaki Ishizaki
 
PDF
20100717tobesetu
akitsukada
 
PDF
BtoCでバインド変数
Yoshito Ueki
 
PDF
簡単!AWRをEXCELピボットグラフで分析しよう♪
Yohei Azekatsu
 
スマートフォン向けサービスにおけるサーバサイド設計入門
Hisashi HATAKEYAMA
 
MySQL57 Update@OSC Fukuoka 20151003
Shinya Sugiyama
 
SQLQL は GraphQL にとってなんなのか
yancya
 
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
Cloudera Japan
 
R超入門機械学習をはじめよう
幹雄 小川
 
named_scope more detail - WebCareer
Kyosuke MOROHASHI
 
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
Insight Technology, Inc.
 
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
 
scala-kaigi1-sbt
Kenji Yoshida
 
Ruby で扱う LDAP のススメ
Kazuaki Takase
 
Functional JavaScript with Lo-Dash.js
Shogo Sensui
 
Oracle Database Connect 2017 / JPOUG#1
Noriyoshi Shinoda
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
Ryusuke Kajiyama
 
PHP開発者のためのNoSQL入門
じゅん なかざ
 
Oracle Database Standard EditionでセミオンラインDDL
Kentaro Kitagawa
 
AlfrescoとSolr(後編)
Ashitaba YOSHIOKA
 
hscj2019_ishizaki_public
Kazuaki Ishizaki
 
20100717tobesetu
akitsukada
 
BtoCでバインド変数
Yoshito Ueki
 
簡単!AWRをEXCELピボットグラフで分析しよう♪
Yohei Azekatsu
 
Ad

activerecord-oracle_enhanced-adapterのご紹介

Editor's Notes

  • #2: &amp;#x4ECA;&amp;#x4E95;(&amp;#x3068;&amp;#x3088;&amp;#x3060;)&amp;#x3068;&amp;#x8A00;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\nTwitter&amp;#x3067;&amp;#x306F;@elcondor&amp;#x3067;&amp;#x3064;&amp;#x3076;&amp;#x3084;&amp;#x3044;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x3088;&amp;#x308D;&amp;#x3057;&amp;#x304F;&amp;#x304A;&amp;#x306D;&amp;#x304C;&amp;#x3044;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n\n
  • #3: &amp;#x521D;&amp;#x767B;&amp;#x5834;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x300C;&amp;#x304A;&amp;#x524D;&amp;#x306F;&amp;#x4F55;&amp;#x8005;&amp;#x306A;&amp;#x3093;&amp;#x3060;&amp;#x300D;&amp;#x3068;&amp;#x601D;&amp;#x308F;&amp;#x308C;&amp;#x308B;&amp;#x65B9;&amp;#x304C;&amp;#x591A;&amp;#x3044;&amp;#x304B;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x81EA;&amp;#x5DF1;&amp;#x7D39;&amp;#x4ECB;&amp;#x3092;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\nRuby&amp;#x6B74;&amp;#x3068;&amp;#x304B;JRuby&amp;#x6B74;&amp;#x306F;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x306B;&amp;#x66F8;&amp;#x3044;&amp;#x305F;&amp;#x901A;&amp;#x308A;&amp;#x3067;&amp;#x3059;&amp;#x3002;\nJRuby&amp;#x30B3;&amp;#x30DF;&amp;#x30E5;&amp;#x30CB;&amp;#x30C6;&amp;#x30A3;&amp;#x3078;&amp;#x306E;&amp;#x8CA2;&amp;#x732E;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x306F;&amp;#x3001;&amp;#x65E5;&amp;#x672C;&amp;#x8A9E;Cucumber&amp;#x3092;&amp;#x66F8;&amp;#x3051;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3059;&amp;#x308B;&amp;#x3001;JRuby&amp;#x672C;&amp;#x4F53;&amp;#x3078;&amp;#x306E;&amp;#x30D1;&amp;#x30C3;&amp;#x30C1;&amp;#x3092;&amp;#x66F8;&amp;#x3044;&amp;#x305F;&amp;#x3001;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;\n
  • #4: &amp;#x3067;&amp;#x3001;&amp;#x3044;&amp;#x304D;&amp;#x306A;&amp;#x308A;&amp;#x4ECA;&amp;#x65E5;&amp;#x306E;&amp;#x307E;&amp;#x3068;&amp;#x3081;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;\nRails&amp;#x3067;oracle&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;activerecord-oracle_enhanced-adapter&amp;#x3092;&amp;#x4F7F;&amp;#x3044;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3001;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  • #5: Oracle&amp;#x3067;Rails?&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x5411;&amp;#x304D;&amp;#x3082;&amp;#x3042;&amp;#x308B;&amp;#x304B;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x306A;&amp;#x3093;&amp;#x3060;&amp;#x304B;&amp;#x3093;&amp;#x3060;&amp;#x3067;&amp;#x4F7F;&amp;#x3046;&amp;#x5C40;&amp;#x9762;&amp;#x306F;&amp;#x591A;&amp;#x3044;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x601D;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;\nJRuby&amp;#x306F;&amp;#x7279;&amp;#x306B;&amp;#x3001;&amp;#x30AA;&amp;#x30FC;&amp;#x30D7;&amp;#x30F3;&amp;#x30EC;&amp;#x30AC;&amp;#x30B7;&amp;#x30FC;&amp;#x3001;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;EJB&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x306A;&amp;#x3093;&amp;#x304B;&amp;#x3068;&amp;#x306E;&amp;#x9023;&amp;#x643A;&amp;#x3001;&amp;#x307F;&amp;#x305F;&amp;#x3044;&amp;#x306A;&amp;#x6587;&amp;#x8108;&amp;#x3067;&amp;#x6271;&amp;#x308F;&amp;#x308C;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x591A;&amp;#x3044;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x601D;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x3001;\n
  • #6: &amp;#x3067;&amp;#x3001;&amp;#x3058;&amp;#x3083;&amp;#x3042;oracle_enanced&amp;#x3063;&amp;#x3066;&amp;#x4F55;&amp;#x306A;&amp;#x306E;&amp;#x304B;?&amp;#x3063;&amp;#x3066;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x306A;&amp;#x308B;&amp;#x3093;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;Oracle&amp;#x306B;&amp;#x7E4B;&amp;#x3052;&amp;#x308B;&amp;#x306E;&amp;#x306F;&amp;#x5F53;&amp;#x7136;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3001;MRI&amp;#x3067;&amp;#x3082;JRuby&amp;#x3067;&amp;#x3082;&amp;#x540C;&amp;#x69D8;&amp;#x306B;&amp;#x4F7F;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;MRI&amp;#x3067;&amp;#x306F;ruby-oci8&amp;#x306B;&amp;#x3001;JRuby&amp;#x3067;&amp;#x306F;JDBC oracle driver&amp;#x306B;&amp;#x4F9D;&amp;#x5B58;&amp;#x3059;&amp;#x308B;&amp;#x8A33;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;\n&amp;#x305D;&amp;#x308C;&amp;#x304B;&amp;#x3089;&amp;#x6700;&amp;#x5927;&amp;#x306E;&amp;#x7279;&amp;#x5FB4;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x300C;&amp;#x75D2;&amp;#x3044;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x306B;&amp;#x624B;&amp;#x304C;&amp;#x5C4A;&amp;#x3044;&amp;#x3066;&amp;#x308B;&amp;#x300D;&amp;#x3093;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x3001;\n
  • #7: &amp;#x75D2;&amp;#x3044;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x306B;&amp;#x624B;&amp;#x304C;&amp;#x5C4A;&amp;#x304F;&amp;#x3063;&amp;#x3066;&amp;#x3069;&amp;#x3046;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3088;?&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x4ECA;&amp;#x65E5;&amp;#x306E;&amp;#x672C;&amp;#x984C;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n&amp;#x524D;&amp;#x7F6E;&amp;#x304D;&amp;#x9577;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;\n
  • #8: &amp;#x4F8B;&amp;#x3048;&amp;#x3070;&amp;#x3001;&amp;#x3053;&amp;#x3093;&amp;#x306A;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x8003;&amp;#x3048;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\nstart_on&amp;#x3068;end_on&amp;#x306F;&amp;#x65E5;&amp;#x4ED8;&amp;#x578B;&amp;#x3001;last_logged_at&amp;#x306F;&amp;#x65E5;&amp;#x6642;&amp;#x578B;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;\n
  • #9: &amp;#x3067;&amp;#x3082;&amp;#x3001;Oracle&amp;#x3067;&amp;#x306F;&amp;#x3069;&amp;#x3061;&amp;#x3089;&amp;#x3082;&amp;#x3001;&amp;#x533A;&amp;#x5225;&amp;#x305B;&amp;#x305A;DATE&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x53D6;&amp;#x308A;&amp;#x6271;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x304C;&amp;#x3069;&amp;#x3046;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x5F15;&amp;#x304D;&amp;#x8D77;&amp;#x3053;&amp;#x3059;&amp;#x304B;&amp;#x3001;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3068;...\n
  • #10: &amp;#x7AEF;&amp;#x7684;&amp;#x306B;&amp;#x8A00;&amp;#x3048;&amp;#x3070;&amp;#x3001;Ruby&amp;#x3067;&amp;#x306F;Date&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x6271;&amp;#x3044;&amp;#x305F;&amp;#x3044;&amp;#x30AB;&amp;#x30E9;&amp;#x30E0;&amp;#x304C;&amp;#x3001;&amp;#x52DD;&amp;#x624B;&amp;#x306B;Time&amp;#x306B;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x56F0;&amp;#x3063;&amp;#x305F;&amp;#x308A;&amp;#x3059;&amp;#x308B;&amp;#x8A33;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;\n
  • #11: &amp;#x3053;&amp;#x3053;&amp;#x3067;oracle_enhanced-adapter&amp;#x306E;&amp;#x767B;&amp;#x5834;&amp;#x3068;&amp;#x306A;&amp;#x308B;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;\n
  • #12: &amp;#x307E;&amp;#x305A;&amp;#x306F;&amp;#x3001;database.yml&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3092;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x3068;&amp;#x3044;&amp;#x3063;&amp;#x3066;&amp;#x3082;&amp;#x3001;adapter&amp;#x3092;&amp;#x5909;&amp;#x3048;&amp;#x308B;&amp;#x4EE5;&amp;#x5916;&amp;#x306B;&amp;#x306F;&amp;#x4F55;&amp;#x3082;&amp;#x5909;&amp;#x3048;&amp;#x306A;&amp;#x304F;&amp;#x3066;OK&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  • #13: &amp;#x3064;&amp;#x3044;&amp;#x3067;&amp;#x3001;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306B;set_date_columns&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x65E5;&amp;#x4ED8;&amp;#x6271;&amp;#x3044;&amp;#x3059;&amp;#x308B;&amp;#x30AB;&amp;#x30E9;&amp;#x30E0;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x3093;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;\n
  • #14: &amp;#x3068;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x3053;&amp;#x3046;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x65E5;&amp;#x4ED8;&amp;#x578B;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x305F;&amp;#x5024;&amp;#x304C;&amp;#x3001;&amp;#x65E5;&amp;#x4ED8;&amp;#x578B;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x53D6;&amp;#x308A;&amp;#x51FA;&amp;#x305B;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x306D;&amp;#x3002;\n
  • #15: &amp;#x4ED6;&amp;#x306B;&amp;#x3082;&amp;#x3001;&amp;#x547D;&amp;#x540D;&amp;#x898F;&amp;#x5247;&amp;#x4F9D;&amp;#x5B58;&amp;#x306E;&amp;#x578B;&amp;#x6307;&amp;#x5B9A;&amp;#x3068;&amp;#x304B;&amp;#x3001;&amp;#x30D5;&amp;#x30E9;&amp;#x30B0;&amp;#x30AB;&amp;#x30E9;&amp;#x30E0;&amp;#x306B;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x30AB;&amp;#x30E9;&amp;#x30E0;&amp;#x3092;&amp;#x4F7F;&amp;#x3048;&amp;#x305F;&amp;#x308A;&amp;#x3001;&amp;#x3068;&amp;#x304B;&amp;#x3001;\n&amp;#x7D30;&amp;#x304B;&amp;#x304F;&amp;#x56F0;&amp;#x308A;&amp;#x305D;&amp;#x3046;&amp;#x306A;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x306B;&amp;#x624B;&amp;#x304C;&amp;#x5C4A;&amp;#x3044;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3093;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;\n
  • #16: &amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x307E;&amp;#x3068;&amp;#x3081;&amp;#x3002;\nOracle&amp;#x3067;&amp;#x30CF;&amp;#x30DE;&amp;#x308A;&amp;#x304C;&amp;#x3061;&amp;#x306A;&amp;#x7F60;&amp;#x3092;&amp;#x56DE;&amp;#x907F;&amp;#x3059;&amp;#x308B;&amp;#x70BA;&amp;#x3001;oracle_enhanced-adapter&amp;#x3092;&amp;#x4F7F;&amp;#x3044;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\n
  • #17: \n