7.6.5. データ型を変更する¶
2023 Autumn(Hollyhock) から、テーブルカラム作成時採用されるデータベースの物理データ型の一部を標準から変更できるようになりました。変更可能なデータ型は以下の通りです。
- 文字列 (但し、変更する物理データ型が最大長を持つこと)
- 数値 (但し、変更する物理データ型が精度とスケールを持つこと)
- 日付
- 日時
- 時刻
データ型変更時の動作は実行環境に依存するため、動作を検証していただいた上でお客様の責任の下で行ってください。
7.6.5.1. データ型の変更方法¶
データ型を変更するには、データ型情報を定義したプロパティファイルを作成して、WEB-INF/classes/META-INF/im_repositoryフォルダに配置する必要があります。ファイル名は、mapping-datatype_データベース製品種別名.properties です。データベース製品種別名には、使用するデータベース製品に応じて 「postgresql」、「oracle」、または、「sqlserver」 を指定します。プロパティファイルには、変更するデータ型のデータベースの物理データ型と物理データ型に対応するJDBCタイプ(JDBC ドライバが返す java.sql.Types のint値)をそれぞれ設定します。物理データ型はDDL生成時に、JDBCタイプはテーブル定義の差分抽出時に利用されます。※物理データ型が異なる場合でも、JDBC ドライバが同じJDBCタイプを返す場合は、データ型の差分には抽出されません。各 KEY 値は、以下の通りです。
KEY 値 説明 DATA_TYPE_TEXT 文字列の物理データ型 DATA_TYPE_NUMERIC 数値の物理データ型 DATA_TYPE_DATE 日付の物理データ型 DATA_TYPE_DATETIME 日時の物理データ型 DATA_TYPE_TIME 時刻の物理データ型 JDBC_TYPE_TEXT 文字列の物理データ型のJBDCタイプ JDBC_TYPE_NUMERIC 数値の物理データ型のJBDCタイプ JDBC_TYPE_DATE 日付の物理データ型のJBDCタイプ JDBC_TYPE_DATETIME 日時の物理データ型のJBDCタイプ JDBC_TYPE_TIME 時刻の物理データ型のJBDCタイプ
7.6.5.1.1. プロパティファイルの記載例¶
データベースがOracle、文字列の物理データ型を「VARCHAR2」に変更した場合のプロパティファイルの記載例です。ファイル名:mapping-datatype_oracle.propertiesDATA_TYPE_TEXT = VARCHAR2 JDBC_TYPE_TEXT = 12