[JavaScript, Database] Node-oracledb 1.9.1 with Promises and Node 6 Support is on NPM

原文はこちら。
https://blogs.oracle.com/opal/entry/node_oracledb_1_9_1

新しいnode-oracledb 1.9.1では、Promiseのサポート、Node.js 6(もちろん以前のリリースも)のサポート、そして安定性の向上のための修正を含んでいます。
Promises in node-oracledb
https://github.com/oracle/node-oracledb/blob/master/doc/api.md#promiseoverview
その他の機能については以下でご紹介します。1.9.0 developmentブランチに対してフィードバック下さった皆様に感謝します。みなさまのおかげでリリースできました。
node-oracledb 1.9.1はNPMからご利用頂けます。インストール、ドキュメントは以下のリンクからどうぞ。
oracledb - Oracle Database driver by Oracle Corp.
https://www.npmjs.com/package/oracledb
Installing node-oracledb
https://github.com/oracle/node-oracledb/blob/master/INSTALL.md
node-oracledb 1.9: Documentation for the Oracle Database Node.js Add-on
https://github.com/oracle/node-oracledb/blob/master/doc/api.md

node-oracledb 1.8から1.9.1での変更点

  • Promiseのサポート
    Promises in node-oracledb
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#promiseoverview
    全ての非同期関数はPromiseを返すことができます。非同期関数がコールバック関数パラメータを伴って渡されると、いつものコールバックフローを使いますが、コールバックパラメータを含めない場合、Promiseを返します。examplesディレクトリにサンプルがあります。promises.jsとwebapppromises.jsをご覧ください。
    oracle/node-oracledb/examples
    https://github.com/oracle/node-oracledb/tree/master/examples
    promises.js
    https://github.com/oracle/node-oracledb/tree/master/examples/promises.js
    webapppromises.js
    https://github.com/oracle/node-oracledb/tree/master/examples/webapppromises.js
    Node.jsの Promise を使うと、多くのNode.jsユーザーが快適なプログラミング・パラダイムを実現できます。node-oracledb用のPromiseラッパーを自作され、NPMで公開されていた方もいらっしゃいますが、公式に実装したのでPromiseを皆様が利用できるようになっています。PromiseのデフォルトライブラリをNode 0.12、4、5、6で使っていますが、ご自身の実装を取り込みたい場合には簡単にオーバーライドできます。これはネイティブ・ライブラリがないNode 0.10をお使いの場合に有用です。
  • ResultSetの新しいメソッド toQueryStream() 
    toQueryStream()
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#toquerystream
    Readable Streamsを使ってREF CURSORSをフェッチします。サンプルは以下をご覧ください。
    refcursortoquerystream.js
    https://github.com/oracle/node-oracledb/tree/master/examples/refcursortoquerystream.js
    トップレベルのクエリからResultSetsと一緒に使うこともできます。ResultSetsをストリームに変換します。しかし。既存のconnection.queryStream() メソッドのほうが、このシナリオではより使いやすいでしょう。
    connection#queryStream()
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#querystream
  • pool.terminate()connection.release() それぞれに対応するエイリアス:pool.close() と connection.close() 
    pool.close()
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#poolclose
    connection.close()
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#connectionclose
    これを使うと、接続のリリース、接続の切断、ResultSetのクローズに使用するメソッドを覚えやすくなるでしょう。単にclose()を使えばよいのです。

  • 実験的なクエリquerystream._close()メソッドの追加
    これを使うと全てのデータをフェッチせずにクエリストリームを閉じることができます。現在のNode Streams実装への割り込みの安全性について情報が少ないため、このメソッドは実験的(Experimental)とマークされています。
    必要に応じて、_close() を呼ぶと pause() が呼ばれます。Node 0.10では、たとえ以前にストリームを一時停止したとしても、一時停止イベントを受け取る可能性があります。これはNode 0.10ではisPaused()の呼び出しをサポートしていないためです。

  • Node 6向けにNAN 2.3へアップデート
    これにより、Node 6で発生しうるNAN 2.2以前で生成した非推奨の警告(deprecation warnings)が出なくなります。
    Nodeの旧バージョンではもちろんまだNAN 2.2以前を利用することができます。

  • JavaScriptオブジェクトのGCが早すぎた場合に発生する、迷惑かつ一見ランダムなクラッシュを軽減
     多くのアプリケーションは、通常オブジェクトを使わなくなるまで関連するJavaScriptオブジェクトを保持するのですが、一部のアプリケーションではそうではありません。早くアプリケーションが終了したり、負荷がかかっていたりすると、時期尚早なGCが後者のようなアプリケーションのスクリプトに影響する可能性があります。
    類似の変更をLOBインサート時の使われるLobバッファに対しても実施しました。

  • メモリ利用の改善
    • ResultSet利用時のメモリリークを修正しました
    • Poolキュータイマーマップでのメモリリークを修正しました
    • LOBのクエリとエラー発生時のメモリリリースロジックを修正しました
  • end-of-fetch時のqueryStram()による余計なgetRows() の呼び出しを削除
  • エラーの変更
    • メソッドのパラメータ検証、例えばパラメータ個数やパラメータのデータ型のチェックで、コールバックを使ってエラーを返すのではなく、同汽笛にエラーを返すようにしました。
    • fetchInfo 利用時の検証を改善しました.
    • Oracle Databaseのエラーメッセージのための内部バッファサイズを増やしました
    • node-oracledb NJS-xyz エラーメッセージテキストを変更しました
  • テスト・スィートの手動インストール化
    テスト・スィートは(今後も)ジョジョに大きなサイズになっていきますが、ほとんどのユーザーにとっては、使わないテストスィートの自動インストールは時間の無駄です。GitHubのクローンを使ってテストを実行することはこれまで通り可能です。アップデートされたテストのREADMEにこの手順が記載されています。
    https://github.com/oracle/node-oracledb/blob/master/test/README.md
    テストを移動し、どこでも実行できるようにするためには、パス接頭辞無しでテストのrequire('oracledb')呼び出しを残し、READMEに記述の通り、NODE_PATHを設定する必要があります。

  • DATA_BLOBのシンボル名の再定義の警告を修正
    Windowsでコンパイルする際の、DATA_BLOBのシンボル名の再定義の警告を修正しました
全体としてnode-oracledb 1.9.1はPromiseのサポート、Node 6のサポート、一般的なレジリエンシーの変更を追加したという点で重要なマイルストンです。このリリースを発表できることをうれしく思うと共に、アップグレードを推奨します。

What's Next?

ウィッシュリストにはnode-oracledbに対するエンハンスメントがまだたくさんあります。みなさんのプライオリティをお寄せ下さい。

問題や質問はGitHubに投稿してください。みなさまからの情報がnode-oracledbの作業のスケジューリングを助けてくれます。お待ちしています。
Issues
https://github.com/oracle/node-oracledb/issues

[Cloud, Security] Integration Cloud Service (ICS) Security & Compliance

Oracleもメンバーとして加わっているCloud Standards Customer Councilが作成した、”Security for Cloud Computing: Ten Steps to Ensure Success V2.0” のCloud Security Assessmentという章に基づいて作成されたホワイトペーパー "Oracle Integration Cloud Service (ICS) Security & Compliance" がリリースされています。
Oracle Integration Cloud Service (ICS) Security & Compliance
http://www.ateam-oracle.com/wp-content/uploads/2016/05/ICS-Security-and-Compliance_v1.0.pdf
Security for Cloud Computing: Ten Steps to Ensure Success Version 2.0
http://www.cloud-council.org/deliverables/CSCC-Security-for-Cloud-Computing-10-Steps-to-Ensure-Success.pdf 
特別なことを書いているわけではありませんが、トライアルを含めてICSをご利用になる場合には、一読されることをお勧めします。

[Java, Database] The top 10 JDBC documents that are linked as solutions from December 2015 to May 2016

原文はこちら。
https://blogs.oracle.com/proactivejavadevelopment/entry/the_top_10_jdbc_documents

下表は、2015年12月から2016年5月までの間でJDBCの問題に対する解決策として紐付けられたMy Oracle SupportのJDBCドキュメントのトップ10です。
401934.1 Starting With Oracle JDBC Drivers
このFAQでは、Oracle JDBCドライバを使い始める際の実用的な情報を提供しています。どのOracle JDBCドライバをJava Applicationとともに使うことができるのかを選択するための説明が記載されています。
1361107.1 Troubleshooting ORA-3137 [12333] Errors Encountered When Using Oracle JDBC Driver
Oracle JDBCドライバを使ってOracle Databaseに接続した際に、ORA-3137 [12333]のエラー、時にORA-3137 [1010] というエラーに遭遇したと、お客様からたくさんご連絡いただきました。このドキュメントでは、検証済みで成功したトラブルシューティングの方法を列挙しています。
793415.1 How to Perform the Equivalent of SQL*Net Client Tracing with Oracle JDBC Thin Driver
Oracle JDBC thinドライバは、SQLNETプロトコル(JavaNet層)という、Javaベースの実装を使っています。
1050942.1 How to Trace the Network Packets Exchanged Between JDBC and the RDBMS in Release 11.2
このドキュメントでは、Oracle JDBCドライバリリース11.2とOracle Database間で送受信された情報をトレースする方法を説明しています。
755605.1 Error "ORA-28040: No matching authentication protocol" When Using SQLNET.ALLOWED_LOGON_VERSION
10.2 thin JDBCドライバは自身を8.1.5クライアントと識別します。そのため、接続がORA-28040: No matching authentication protocol (一致する認証プロトコルがありません)というエラーで失敗します。
467804.1 How To Determine The Exact JDBC Driver Version For Standalone Programs
特にサポートでの分析にあたって有用なJDBC/JDK環境の診断情報を抽出します。抽出する情報には以下のものを含みます。
  • データベースのバージョン
  • JDBCドライバのバージョン
  • JDKのバージョン
  • PATH
  • BOOTSTRAP
  • JRE extensionsディレクトリ中のjarファイルのリスト
  • CLASSPATH
  • JDBCのURL
1555793.1 JDBC Connections Using SCAN Fail With ORA-12516/ORA-12520
ORA-12520: TNS:listener could not find available handler for requested type of server( TNS:リスナーは、リクエストしたサーバータ イプに使用可能なハンドラを検出できませんでした)
ORA-12516: TNS : listener could not find instance with matching protocol stack(TNS: リスナーは、一致するプロトコル・スタックが使用可能なハンドラを検出できませんでした)
467808.1 Standard JDBC diagnostics for Application Servers
特にサポートでの分析にあたって有用なJava Enterpriseコンテナ(Java EEコンテナ)内で使われているJDBC/JDK環境の診断情報を抽出します。抽出する情報には以下のものを含みます。
database version, JDBC driver version, JDK version, PATH, BOOTSTRAP, JRE Extensions directory, CLASSPATH and JDBC URL and debug flags information. ( Application Server specific)
  • データベースのバージョン
  • JDBCドライバのバージョン
  • JDKのバージョン
  • PATH
  • BOOTSTRAP
  • JRE extensionsディレクトリ中のjarファイルのリスト
  • CLASSPATH
  • JDBCのURL
  • デバッグフラグ情報(アプリケーションサーバ固有) 
334471.1 Understanding Transparent Application Failover (TAF) and Fast Connection Failover (FCF)
このドキュメントは、Transparent Application Failover(TAF)とFast Connection Failover(FCF)というRACの2個のコンセプトを説明するものです。
1641167.1 Understanding Inactive Sessions From JDBC Connection Pool
JDBC接続プール利用時に非アクティブ、ストールした接続があることに気付くでしょう。そうなった理由、識別方法、管理方法について説明します。

[Mobile, Cloud] Mobile Cloud Service 2.0 is Here!

原文はこちら。
https://blogs.oracle.com/mobile/entry/mobile_cloud_service_2_0

Oracle Mobile Cloud Serviceの2回目のメジャーリリースについてエントリを書くことができ、個人的に非常に興奮しています。モバイルに対する長年の経験を有する者が集まり、ゼロからクラウドベースのエンタープライズ・モバイル・プラットフォームであるOracle Mobile Cloud Service(MCS)の計画を策定したのは、それほど遠い昔ではありません。
Oracle Mobile Cloud Service
https://cloud.oracle.com/ja_JP/mobile
我々のゴールは、エンタープライズ・モビリティをシンプルにして、モバイル開発者がよりよいアプリケーションをより速く開発できるようにすることでした。これらのゴールを念頭において、MCSを2015年7月にリリースしました。そこから10ヶ月の間にMCSの成功とマーケットでの勢いを目の当たりにして興奮しています。オープンかつ、特定製品にとらわれずにオープンスタンダードに従って開発するという設計目標は、世界中の全業種、あらゆる規模のお客様によって受け入れられています。Oracle MCSを使って、組織は最新のエクスペリエンスを従業員に提供し、お客様に対し最新のエンゲージメントを促進します。基本原則の一つは、オープンでモバイルクライアント開発ツールに依存せずに、開発者が最適なツールで開発でき、開発者がエンタープライズデータやセキュリティポリシーの複雑性を理解しなくてもMobile APIカタログからエンタープライズ・サービスを選択できるようにすることでした。Apple、Google、Xamarin、Sencha、IonicをOracleのクライアント開発ツールであるMobile Application Framework(MAF)やJETとともに使って、様々なバックエンドシステムと統合されたエンゲージング・エクスペリエンスを構築するお客様がいらっしゃいます。

迅速かつ機動的なMCSのリリースで革新を続けてきましたが、本日、MCS Location Based Servicesを使うよりよいアプリケーションと、エンタープライズがMobile Application Accelerator(MAX)と呼ばれる、OracleのRapid Mobile Application Development(RMAD)機能を使ってより速くアプリケーションを開発できるようになったことをお伝えできることに非常に興奮しています。これらの機能はGartnerが"citizen developers"と言っているものをターゲットにしています。
Gartner Says Citizen Developers Will Build at Least 25 Percent of New Business Applications by 2014
http://www.gartner.com/newsroom/id/1744514
MAXについて説明する前に、まずはLocation Based Servicesで搭載した機能をご紹介します。

About Oracle MCS and Location Based Services

小売、イベント主催者、交通システム、金融サービス、接客、教育機関などの多くの企業が消費者と繋がっており、モバイルアプリケーションとオンラインの世界全体でシームレスなユーザー体験を可能にするよう、大幅な投資をしています。彼らは、複数のチャネルにわたってアプリのダウンロードに関連する洞察を得ることができます。あるケースでは複数チャネル間でのユーザーの行動に関連する洞察を得ることができます。しかしながら多くの場合、オンラインの世界では提供しない、消費者の物理的な場所をモバイルが提供するということが無視されてきました。USの小売の売上の93%が未だに店舗で発生 していることを考慮すると、エンタープライズは物理的な世界とオンラインの世界の間にある重要なつながりを失っています。
GPSの課題は、屋内空間では電話からのシグナルがブロックされ、正確な位置が得づらいということです。これはBeaconsが実行可能な解決策になるでしょう。Beaconsとは、壁やカウンターに配置できる小さく廉価なハードウェアで、バッテリー消費量も少なく、低エネルギーのBluetooth接続でモバイル端末に送信したり、指示したりできます。Estimoteのような企業が文脈的にリッチなモバイル体験を変革し、再発明する体勢を整えています。


“It’s a no-brainer. Beacons increase the granularity of information that Oracle MCS can use to help businesses provide a contextually rich experience to their customers”  Steve Cheney Co-Founder of Estimote.(「非常に簡単です。BeaconによってOracle MCSが利用可能な情報の精度が高まり、顧客に対して文脈的にリッチな体験を提供できるようにビジネスを支援することができます」)
店舗での小売やオフラインでの支払いはビーコンを使ったアプリケーションの第1波です。小売アウトレットはビーコンを使って顧客に対し商品情報やフラッシュセールスやお得な販売情報を提供し、非接触決済システムを使ってチェックアウトプロセスのスピードアップをしています。消費者は店舗内のショッピング体験を向上させる方法としてビーコンを受け入れているようです。USの大人の半数はすでにモバイル端末を店舗で利用しています。消費者はまたビーコンをホーム・オートメーションのために利用することもできます。例えば、スマートフォンを持つ人が入るとすぐにビーコンが照明をONにしたり、ドアや窓の日よけを開ける、といった具合です。

Mobileは、デジタル世界と物理世界の間の架け橋であり、文脈的に、関連付けて役立てることで、マーケティング担当者にとって最も有用なツールになりつつあります。位置情報サービスを利用するより良いアプリの構築を支援するため、文脈的な位置情報の360度ビューを提供することにより、アプリ開発者がモバイルアプリのより良い意思決定と関与を簡単に実現できるようにしています。MCS 2.0では、場所やビーコンのようなデバイス、第1級のエンティティのようなアセットのための簡単に使える管理UIと、これらのエンティティに関する興味深い情報やエンティティ間の関連性を、プラットフォームAPIを通じてモバイルアプリから照会する機能を備える、宣言的なフレームワークを提供します。

MCS 2.0 は次のようなB2C、B2Eのユースケースにもフィットします
  • 関心場所や関心事に関するコンテキスト情報の取得(して、モバイルアプリケーションのロジックを呼び出す)
    • 例えば、指定されたGPS園内の‘Parts_Warehouse’ ラベルを持つすべての場所を返し、Acmeウォッシャーの在庫部品がある最も近い倉庫へ案内する
    • 例えば、「LAX_Terminal1」と言うテキストをデバイス名や識別子に含む、すべてのアクティブなiBeaconデバイスを返す。自分のフライトにチェックインしたので、自分のアプリに戻されたBeaconのIDのレンジを設定する。
  • ジオフェンスやビーコンへの接近に基づく、パーソナライズされたモバイルユーザ・ターゲティング
    • 例えば、AnaがUvillage Mallの新規開店した店舗にチェックインしたら、アイスクリームの無料バウチャーを送る(GPSによってUvillage Mallが示されており、Uvillage Mallにはその中に「子」の場所を持っていて、位置情報と関連付けられたBeaconによってその店舗が識別される)
    • 例えば、航空会社のラウンジにプラチナメンバーが到着すると、NewCoのプロモーションを送る(Beaconで識別)
  • 価値の高いアセットのトラッキング
    • (Beaconで識別された)フォークリフトの直近の場所をNorth Yardにアップデートする
    • (Beaconで識別された)病院のベッドの直近の場所を入手する。病院の隔離領域にない場合、勤務中のフロア看護師にSMSアラートを送信する。

About Oracle MAX

モビリティソリューションへの投資は2016年を通じて成長し続けると予想されていますが、モバイルアプリ開発サービスの需要が、組織が提供可能なモバイルアプリを大きく上回るという増大する懸念ゆえに、モビリティ・ソリューションの投資増加が見込まれています。ガートナーによると、企業は、需要のおもむくままに迅速にモバイルアプリを開発、展開、維持することは課題であり、コストがかかると考えています。ガートナーは、rapid mobile app development (RMAD) を使ってアプリケーションを手早く開発し、エンタープライズにとってモバイルアプリに対する需要と共有の間のギャップを埋めることが重要だ、と言っています。重要な技術革新がこのマーケットを牽引し、ネイティブ開発ツールを使ったこれまでのコーディングアプローチから、より効率的なRMADツールを使った開発に置き換えていきます。MCS 2.0では、Mobile Application Accelerator(MAX)で、コードを書かずに迅速にモバイルアプリケーションを開発するという、rapid mobile app development (RMAD) の概念を導入しました。MAXは、プログラミングをしたことがないビジネスユーザーが迅速にモバイルアプリケーションを組み立て、継続的に繰り返しデザインできる仕組みを提供します。MAXは高度に視覚的なツールなので、百聞は一見に如かずです。以下の動画でOracle MAXの概要、Oracle MAXのデモをご覧ください。



Oracle MCS 2.0の詳細情報や試使用については、以下のリンクをご覧ください。
Oracle Mobile Cloud Service
https://cloud.oracle.com/ja_JP/mobile
https://cloud.oracle.com/mobile
まだ足りませんか?であれば、4月に開催されたSuhas UliyarとChris Matsh(451 Research)のWebcastのオンデマンド視聴をどうぞ。
New Imperatives for Enterprise Mobility Webcast
http://event.on24.com/eventRegistration/EventLobbyServlet?target=lobby.jsp&eventid=1160282&sessionid=1&partnerref=blog&key=D87797548FAA04880DD2F8BC4F741D2C&eventuserid=139783893 
あと、 @OracleMobile のフォローをお忘れなく。

[Database] MyNA (MySQL Nippon Association) Meeting Tokyo, Japan

原文はこちら。
https://blogs.oracle.com/MySQL/entry/myna_mysql_nippon_association_meeting

MyNA (日本MySQLユーザ会)主催のMySQLユーザーグループミーティングを2016年5月に開催します。詳細は以下の通りです。
  • 開催日: 2016年5月30日(月)
  • 時間: 19:30~21:30
  • 開場: オラクル青山センター13階セミナールーム 
  • ミーティングのトピック
    このミーティングでは、サンタクララで開催されたPercona Live 2016のレポートを中心にお送りします。スピーカーはこのイベントに参加したMySQL GBUから1名、MySQLユーザーグループから1名です。
    [予定]
    • "Days during joining in Percona Live" [ @mita2 さん(Yahoo Japan Corporation)
      Percona Live 2016にて参加したセッションをレポートします。
    • "What's new in Percona Live" [ @yyamasaki1 さん(Yoshiaki Yamasaki / MySQL GBU)]
      Transparent Data EncryptionとDocstoreについてレポートします。
開場でお会いできることを楽しみにしています。

[訳注]
参加したい方は、Attendから参加登録してください。
MyNA(日本MySQLユーザ会)会 2016年5月
https://atnd.org/events/77057

[Database] Launch Event: Oracle Database 12.2

2016年6月1日(水)13時(PDT)、日本時間では2016年6月2日(木)5時から、Oracle Database 12.2のLaunch Eventが開催されます。Webcastもあります。
Webcastの場合、2016年6月1日(水)13時~16時(PDT)、日本時間では2016年6月2日(木)5時~8時という時間枠での開催です。Webcastの視聴登録は以下からどうぞ。
Live Launch Webcast ― The #1 Database Is About to Get Even Better
https://eventreg.oracle.com/profile/web/index.cfm?PKWebId=0x3501716ef6
もちろん、現地のLaunch Event会場で参加することもできます。Webcastとは違い、12時開場、13時開始、14時30分終了というスケジュールなのでご注意ください。下図はLaunch Event会場での参加用ページへのリンクです。
ハッシュタグは #DB12c や #CloudFirst だそうです。
ちょっと早い時間ですが、日の出も早い時期なので、ちょっとだけ早起きして、是非視聴してみてください。

[misc.] リリースノートやWhat's Newのチェックをお忘れなく

新しいバージョンやリリースが出てきた場合、これまで利用できた機能が非推奨(Deprecated)になったり、削除(Removed)されたりすることがあります。機能の改廃はリリースノートや新機能をまとめたドキュメントに記載されています。
例えばOracle WebLogic Server 12.2.1(12cR2)の場合、以下のドキュメントが公開されています。
Oracle® Fusion Middleware What's New in Oracle WebLogic Server 12.2.1
Deprecated Functionality (WebLogic Server 12.2.1)
http://docs.oracle.com/middleware/1221/wls/NOTES/whatsnew.htm#NOTES155
Removed Functionality and Components
http://docs.oracle.com/middleware/1221/wls/NOTES/whatsnew.htm#NOTES588

Oracle® Fusion Middleware Oracle WebLogic Server 12.2.1の新機能 12c (12.2.1)
非推奨になった機能(WebLogic Server 12.2.1)
http://docs.oracle.com/cd/E72987_01/wls/NOTES/whatsnew.htm#BGGBGFFB
削除された機能とコンポーネント
http://docs.oracle.com/cd/E72987_01/wls/NOTES/whatsnew.htm#A1011792415
ご注意頂きたいのは、時々、日本語ドキュメントと英語ドキュメントで表現が異なる場合がある、ということです。例えば、weblogic.Adminは、 日本語版だと
「weblogic.AdminユーティリティはWebLogic Server 12.2.1で非推奨であり、将来のリリースでは削除される予定です。」
とありますが、英語版では、
"The weblogic.Admin utility has been removed from Oracle WebLogic Server 12.2.1."
とされています。こういう場合は原則英語版の記述を優先して取り扱ってください。実際、weblogic.Adminを呼び出してみると…

ということで、英語版の通り削除されています。
その他、WebLogic Server(厳密にはFusion Middleware Infrastructure) 上で動作するSOA SuiteやBPM Suite、Business Intelligence Enterprise Editionなど、それぞれの製品で機能の改廃がまとめられていますので、バージョンアップに伴う移行の前には、必ず目を通しておいてください。