コマンドラインのドキュメントを読むことをお勧めします。
日付に基づいて SQL を生成するには、次のようにするしかないと思います。
liquibase rollbackToDate <date/time>
liquibase tag <version so can rollback here again>
liquibase updateSQL > keepUpdate.sql
liquibase update
アップデート
あなたがしようとしていること (SQL を使用して本番環境を更新する) は、liquibase がサポートするように設計されている一般的なユースケースです。これは私のお気に入りの機能の 1 つです。
問題は....理想的な世界では、開発データベースを吹き飛ばしてゼロから始めることができるはずです。明らかに、データを管理するためのリキベース変更セットがないため、いくつかの代替手段を検討する必要があります....
アプローチ 1: 新しい DEV データベースを作成する
SQL クエリを実行し、開発用 DB にあるチェンジセットの数を確認します。
SELECT ORDEREXECUTED, DATEEXECUTED, ID, FILENAME, DESCRIPTION, COMMENTS
FROM DATABASECHANGELOG
ORDER BY ORDEREXECUTED
日付を分析し、バージョン 3.0 から 2.0 (2 つの変更セット) および 1.0 (4 つの変更セット) に戻す変更セットの数を確認します。
新しいデータベースを作成し、liquibase 変更セットを適用して、スキーマをリビジョン 3.0 にします。
liquibase update
バージョン 2.0 -> 3.0 アップグレード用の SQL を作成するには
liquibase rollbackCount 2
liquibase updateSQL > upgrade-2_0-3_0.sql
liquibase futureRollbackSQL > rollback-2_0-3_0.sql
バージョン 1.0 -> 3.0 アップグレード用の SQL を作成します。
liquibase rollbackCount 2
liquibase updateSQL > upgrade-1_0-3_0.sql
liquibase futureRollbackSQL > rollback-1_0-3_0.sql
アプローチ 2: dbunit を使用してデータセットを保存する
データベース管理用のもう 1 つの非常に便利なツールはdbunit です。
次の記事では、liquibase と dbunit を一緒に使用してデータベースを移行する方法について説明しています。
2 つのツールは補完的です。あなたの場合、おそらく開発データのスナップショットを定期的に保存し、これを使用して開発またはテストデータベースを再作成できます(明らかに、データセットはデータベーススキーマのバージョンに敏感であるため、注意が必要です)