0

.. ここで問題です: (PostgreSQLの)私は、この持っている:休止状態 - 私はより良い休止状態Enversの動作を理解したいと思い監査テーブル編集

Person (
      id bigint not null, 
      job character varying(10) 
) 

プラスその「_aud」テーブルPerson_AUD

は、

は今、私はこの変更を行う必要があります:

ALTER TABLE Person 
ADD COLUMN group varchar (10); 

そして、その後、このような何か:

UPDATE TABLE Person 
SET group='unemployed' 
WHERE job=null; 

私の質問は次のとおりです。「alter table」を実行すると、Hibernateは私の_audテーブルに何をしますか? 「更新」を実行すると、Hibernateはmy_audテーブルに対して何を行いますか?

私はそれを試すことができないので、私は列groupを監査するという仮定を離れて働い

答えて

0

(私はので、私は:)あなたにそれを求めていますLiquiBaseをを使用して「手動」これをしなければならない)、これを頼みます、あなたはPersonテーブルで行ったようにもPerson_AUDを変更する必要があります:

ALTER TABLE Person_AUD 
ADD COLUMN group varchar(10) 

フィールドがNULL -ableあるので、それはその必要も同様の更新ステートメントを実行するかどうかを完全にあなた次第ですPerson_AUDテーブルにあります。必要であれば、それは次のようになります。

UPDATE Person_AUD 
    SET group = 'unemployed' 
WHERE job is NULL 

それは、監査テーブルが含まれていてもよいようPerson_AUDテーブルに更新された行の数は、必ずしも、あなたのPersonテーブルから更新された行数が同じではないことに注意することが重要です同じプライマリ・キーのリビジョンが異なる複数のローをPersonから削除します。

+0

本当にお返事ありがとうございます。本当にありがとうございます。 "更新を実行すると、Hibernateはmy_audテーブルに何を行いますか?"たとえば : 私は持っている人テーブル: パーソン: 失業 IDジ​​ョブグループ 0ヌル "変更" と "更新" それはこのようになります後 IDのJOB 0ヌル Person_AUDテーブルはどのようになりますか? 新しいREVを含む新しい行を作成し、REVENDを追加しますか? –

+0

'update'でhbm2ddl設定を使用していますか? – Naros

+0

いいえ、私はそれを変更することはできません –