
DB2でさくさく実現するRESTfulなDBアプリ(2)
Railsでレガシーデータを蘇えらせるテクニック
レガシー表へのRESTfulなアクセス
ActiveScaffoldを使用してRESTfulなアクセスを実現するには、configディレクトリの下にあるroutes.rbをサンプル10のように編集します。
●サンプル10 config\routes.rb (抜粋)
ActionController::Routing::Routes.draw do |map| # The priority is based upon order of creation:
# first created -> highest priority. map.resources :acts, :active_scaffold => true # Sample of regular route: <略>
このように設定しておくことで、URLに主キー列の値を追加して直接Show/Edit画面を表示したり、XML形式で表示したりすることが可能となります。
●図4 Show画面

●図5 Edit画面

●図6 XMLによる表示

まとめ
今回は、すでにデータベースに存在しているレガシー表に、ActiveRecordを使用してアクセスする方法をご紹介しました。次回は、また違った角度からDB2 on RailsへのRESTfulなアクセスをご紹介します。
筆者プロフィール
山根英彦(やまね・ひでひこ)
2003年ソフトウェア製品のベータ・プログラムを推進するエンジニアとして日本IBM入社。現在ITスペシャリストとして、Information Management製品を担当し、新機能を中心に検証、構築支援を実施。最近ではDB2 9の新機能pureXMLを用いたXMLDBの性能検証を行う。
Team Ruby
日本アイ・ビー・エムにおいて、RubyおよびRuby on Railsの最新技術習得やデモシステムの構築を通して、Agile Program開発領域でのDB2の優位性を構築事例や記事として示すと共に、関連する情報を提供して、DB2およびDB2のpureXML機能の認知度向上を目的として設立された、技術者コミュニティ。約20名が日本アイ・ビー・エム各部門から参加している。
山根英彦(やまね・ひでひこ)
2003年ソフトウェア製品のベータ・プログラムを推進するエンジニアとして日本IBM入社。現在ITスペシャリストとして、Information Management製品を担当し、新機能を中心に検証、構築支援を実施。最近ではDB2 9の新機能pureXMLを用いたXMLDBの性能検証を行う。
Team Ruby
日本アイ・ビー・エムにおいて、RubyおよびRuby on Railsの最新技術習得やデモシステムの構築を通して、Agile Program開発領域でのDB2の優位性を構築事例や記事として示すと共に、関連する情報を提供して、DB2およびDB2のpureXML機能の認知度向上を目的として設立された、技術者コミュニティ。約20名が日本アイ・ビー・エム各部門から参加している。
![]() |
4/4 |
Index
DB2でさくさく実現するRESTfulなDBアプリ(2)
Railsでレガシーデータを蘇えらせるテクニック
Railsでレガシーデータを蘇えらせるテクニック
・既存の表にActiveRecordを使うには?
・ActiveRecordを使ったマッピング
ActiveRecordが備える機能|ActiveRecordで表を作成する|DB2での主キーの扱い
・ActiveRecordを使ったマッピング
ActiveRecordが備える機能|ActiveRecordで表を作成する|DB2での主キーの扱い
ケース1:
レガシー表に主キー列に相当するINTEGER型やBIGINT型の列が存在する場合
レガシー表の内容を確認|主キー列をID生成列に変更する|主キー列と表の名前をRails規約に一致させる2つの方法
レガシー表に主キー列に相当するINTEGER型やBIGINT型の列が存在する場合
レガシー表の内容を確認|主キー列をID生成列に変更する|主キー列と表の名前をRails規約に一致させる2つの方法
ケース2:
レガシー表に主キー列に相当する列が存在するがMALLINT型の場合
ケース3:
レガシー表に主キー列に相当する列が存在しない、もしくは存在してもCHAR型やVARCHAR型の場合
コラム:読み込み専用の表としてアクセスさせたい場合
レガシー表に主キー列に相当する列が存在するがMALLINT型の場合
ケース3:
レガシー表に主キー列に相当する列が存在しない、もしくは存在してもCHAR型やVARCHAR型の場合
コラム:読み込み専用の表としてアクセスさせたい場合

・レガシー表へのRESTfulなアクセス
・まとめ
・まとめ
![]() |
DB2でさくさく実現するRESTfulなDBアプリ |
Database Expert フォーラム 新着記事
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
![]() |
|
|
|
![]() |