2017-06-16 8 views
0

Hibernateでは、hbm2ddl.autoをcreate/create-dropに設定すると、起動時に古いスキーマが削除され、新しいスキーマが作成されます。つまり、データも削除されますか?疑問に思うのは、すべてのものを削除すれば、古いデータをどのように取り戻すことができるのでしょうか? (例:ユーザー登録の詳細)、運用環境で使用する正しいオプションは何ですか?hbm2ddl.auto = create/create-dropでデータも削除されますか?

私が間違っている場合は、私を修正してください。

+0

です。 – ByeBye

+0

スキーマを削除すると、データが失われますか? – Antoniossss

+0

その場合は 'update'を使用してください。 – soorapadman

答えて

0

実稼働環境で使用する正しいオプションは何ですか?

IMHOの場合、生産環境で唯一有効なオプションはvalidateです。誤った設定、簡単な間違いまたはタイプミスのために、他のすべてがデータを失う/ dbスキーマを破損する可能性があります。

スキーマの更新に移行ツールを使用すると、スキーマの "バージョン管理"が提供され、削除前にテストできるようになり、変更を元に戻すことができます。

+0

こんにちは、私はデータベースに存在するテーブルに新しいテーブルと新しい列を追加したい場合、hbm2ddl.auto = validateは(既存のスキーマ/テーブル/データに触れないでください)の条件に合うでしょう –

+0

あなたが生産されていない限り実稼働環境でのみ更新を使用できます。新しい列、テーブル、インデックスを追加してください。あなたが既に持っているドロップをドロップしないでください。 – xyz

関連する問題