@DBFlute-0.9.5.2, DBFlute.NET-0.8.9.2 > (DBFLUTE-515){Java/C#}: > ReplaceSchemaの最後にシーケンス調整 ReplaceSchemaでテストデータを登録した場合、 シーケンス用のカラムに対して「1,2,3..」で入れていくと、 いざアプリのテスト実行でInsertしようとしたときにシーケンスが 「1」のままなのでPK制約違反で落ちます。 今までの回避策としては、 o シーケンスのStartを100000とかにする o 同時にシーケンスを調整する処理をする o PostgreSQLならtake-finallyで調整処理書く とありましたが、どれもちょっといまいちでした。 そこで、replaceSchemaDefinitionMap.dfpropにて、 「isIncrementSequenceToDataMax = true」 と設定すると、ReplaceSchemaの処理の最後で 「シーケンスの次の取得値 = 登録されたデータのMax+1」に なるようにします。 sequenceDefinitionMap.dfpropに設定されている シーケンスに対して処理を行います。 PostgreSQLのserialに関しては特別に自動で判定して、 全てのserial型に対して処理を行います。 「PostgreSQL, Oracle, DB2, H2」が対象DBです。 実際に、 dbflute-postgresql-exampleとdbflute-oracle-exampleは これを利用してシーケンスの調整を行っています。