物理テーブル上の項目属性の並び順は、GeneXus IDE上では変更する事が出来ません。GeneXusは物理的な項目の並びを意識しない思想なので、項目を追加した場合は物理テーブルの最後尾カラムとして追加されます。
とはいえ、データ移行やテーブルの直接メンテナンスなど、人が目で見てデータを操作する場合は、論理的な並び順に準拠して欲しいものです。
トランザクションとテーブルオブジェクトの比較。 後から追加した「CustomerPhoto(顧客写真)」がトランザクションでは顧客TELの前に位置しているが テーブルオブジェクトではカラムの最後尾に追加されている。 |
項目の並び順をトランザクションと揃えたい場合(論理的な並び順に変更したい場合)は以下の方法を使います。
①ナレッジベースをすべてエクスポート(xpz)
②新規にナレッジベースを作成する
③作成した空のナレッジベースにエクスポートしたxpzをインポートするが、この時テーブルオブジェクトは除外する(インポートしない)
テーブルオブジェクトのチェックを外してインポートする |
インポート時テーブルが含まれない場合、GeneXusはトランザクションのストラクチャー情報を元に正規化処理を実行しテーブルを生成します。これにより、トランザクションのストラクチャーに定義された並び順で項目が出来上がります。
インポート後の新しいナレッジベースでの比較 トランザクションとテーブルオブジェクトで項目の並び順が揃っている |
注意点としては、テーブルが新規に作成されるので、今まで指定してきたテーブル名、デスクリプションは保障されません。(あくまでも思想的にサポートされていない機能をテクニックでカバーしていますので)
尚、このテクニックはナレッジベースの再作成を伴いますので頻繁には行えません(特にチーム開発でGeneXus Serverを使っている場合)。ナレッジベースを再作成した場合は、環境まわりの設定を行ったり、再度フルビルドが必要になるためです。フェーズの変わり目など、全員の作業が一旦止められる時に行う事をお勧めします。
0 件のコメント:
コメントを投稿