Skip to main content

 

OutSystemsの用語

 

OutSystems

データモデルの変更の処理方法

アプリケーションのデータモデルを変更する際、変更はすぐにはデータベースに反映されません。これは、アプリケーションをデプロイする際にのみ発生しますが、データを失うことがないように行われます。

このトピックでは、OutSystemsが以下を処理する方法について説明します。

  • アトリビュートの削除
  • アトリビュートの追加
  • アトリビュート名の変更
  • アトリビュートのデータ型の変更
  • TextアトリビュートのLengthプロパティの変更

アトリビュートの削除

エンティティアトリビュートを削除すると、OutSystemsはデータベースからではなく、アプリケーションモデルからエンティティアトリビュートを削除します。その結果、開発環境ではそのアトリビュートが使用できなくなります。

それでもなお、データはデータベース上に安全に保存されています。データベースで直接、またはアプリケーションをロールバックすることでデータにアクセスできます

アトリビュートを削除した後、OutSystemsはエンティティより多くの列がデータベースにあることを警告します。詳細については、「データベース整合性の提案」をご覧ください。

アトリビュートの追加

エンティティにアトリビュートを追加すると、OutSystemsは同じ名前の列が関連するテーブルにすでに存在しているかどうかについてデータベースを確認します。このような列がない場合、OutSystemsは列を作成します。

この名前のアトリビュートがエンティティにあるものの、ある時点で削除していた場合、OutSystemsは関連するデータベースの列を保持します。

この場合、OutSystemsは既存のデータベースの列を再利用しようとします。新しいアトリビュートのデータ型がデータベース上に存在するデータ型とは異なる場合、OutSystemsはアプリケーションをデプロイする際にデータ型を変換します。

  • データを失うことなくデータ型を変換できた場合、デプロイメントは正常に終了します。
  • データ型を変換できなかった場合、OutSystemsはエラーを表示し、アプリケーションをパブリッシュしません。これにより、データは常に安全になります。

詳細については、「アトリビュートのデータ型の変更」セクションをご覧ください。

アトリビュート名の変更

アトリビュート名を変更すると、OutSystemsは新しい名前でデータベースに新しい列を作成します。古い列は、すべてのデータをデータベースにそのまま残していても、開発環境では使用できません。

データベースに同じ名前の列がすでにある場合、OutSystemsはアトリビュートを既存のデータベースの列にマッピングしようとします。OutSystemsは、列のデータ型を必要に応じて変換しようとします。

アトリビュートのデータ型の変更

データベーステーブルにデータが保存されている場合、OutSystemsは値を新しいデータ型に変換しようとします。変換できない場合、またはデータ損失を引き起こす可能性がある場合、変更は行われず、OutSystemsはDatabase Upgrade(データベースアップグレード)エラーを表示します。

変換はご利用のデータベース管理システムによって行われるため、そのドキュメントを参照してサポートされている型の変換についてご確認ください。

TextアトリビュートのLengthプロパティの変更

OutSystemsでは、2つの異なるデータ型を使用してデータベースに文字列を保存します。使用されるデータ型は文字列のサイズによって異なります。詳細については、「データベースのデータ型」をご覧ください。

Textアトリビュートの文字数を2,000文字以下から2,000文字以上に変更する際は、データベースの列のデータ型が変更されます。

2,000文字以上から2,000文字以下への文字数の変更はできません。この変更をデプロイしようとしても、データ損失を引き起こす可能性があるため、OutSystemsではエラーが発生し、アプリケーションが変更されることはありません。

  • Was this article helpful?