最近のアクセス:
オフラインデータベースの再編成

オフライン データベース オブジェクトのテーブル選択で説明したとおり、このオブジェクトはオフラインで作業するために使用されるデバイスのテーブル選択を担っています。しかし、これらのテーブルはいつどのように作成されるのでしょうか?また、テーブルモデルが変更された場合、どのように再編成されるのでしょうか?
このドキュメントの目的は、これらの疑問に答えることです。

スマートデバイスの影響分析

オフライン データベース オブジェクトが選択されたテーブルを定義すると、GeneXus はすべての選択されたテーブルとそれらのステートメントを表示するスマートデバイスの影響分析を作成します。
イメージ:27122.png

この影響分析はいつ呼び出されるのでしょうか?

この影響分析は、常にオフラインアーキテクチャが選択される際、アプリケーションの最初のビルド操作の後で実行されます。
つまり、次のような状況で呼び出されます:
  • モデルが変更されるたび: テーブルまたは項目属性の作成/更新/削除によってモデルを変更する。
  • テーブル参照が変更される場合: たとえば、以前参照されていなかったテーブルをアプリケーションが参照する場合など。
  • すべてをリビルド操作を実行するたび。
  • 手動: ビルドメニューからオフラインデータベースを作成操作を行う場合。

ファイルの再編成

影響分析を実行した後で、有効な SmartDevices ジェネレーター用のそれぞれの再編成ファイルが作成されます。 
これらのファイルは、アプリケーションがインストールされるたびにデバイスにデータベースを作成するというルーチンを含んでいます。 

オフライン ローカル データベースの再編成

デバイスで最初にアプリケーションが起動する際に、オフライン ローカル データベースが作成されます。これを実行するには、データベース作成のルーチンに含める形で再編成ファイルを作成する必要があります。
それ以降、オフライン データベース モデルを変更するたびに、再編成ファイルが最初1からローカル データベース テーブルに作成され、すべての既存のデータを失います。この場合の例外は GXPendingEvents テーブルです。次の同期プロセスでサーバーに送信されるために、保留中のイベント (同期されなかったイベント) は新しいデータベースにコピーされます。詳しくは、「SynchronizationEventsAPI 外部オブジェクト (X Evolution 3)」を参照してください。
1 データベースの再作成が必要かどうかを判断するため、ReorganizationScript.txt の MD5 が比較されます。

重要な検討事項

  1. デバイスのアプリケーションを実行する前に再編成ファイルを生成し、コンパイルしておくことが重要です。これ以外の場合、いくつかのエラーが発生し、結果としてこれらのファイルを失い、アプリケーションが破損する可能性があります。
     
  2. すべての有効な SmartDevices ジェネレーターに対して、再編成ファイルが生成されます。ただし、新規にほかの SmartDevices ジェネレーターを有効にした場合、影響分析は実行されず、したがって再編成ファイルも作成されません。つまり、新しい SmartDevices ジェネレーターを有効にするたびに、すべてリビルドまたはオフラインデータベースを作成操作を手動で行う必要があります。
     
  3. SmartDevices ジェネレーターごとに 1 つの再編成プログラムのみが維持されるため、オフラインのメインオブジェクトを複数持つことはできません。

参考情報








サブページ
Created: 15/10/29 21:26 by Admin Last update: 21/05/21 03:34 by Admin
カテゴリ
Powered by GXwiki 3.0