方針
PostgreSQL を primary DB とし、SQLite は移行元・legacy 用途として扱う。
複数PC・複数利用者での運用、ロック制御、厳密な型、PostgreSQL を採用する既存システムとの連携を考慮し、SQLite を運用DBの最終形にはしない。
SQLite の既存データ・バックアップをただちに廃止するものではない。SQLite は移行元および既存環境の互換用として維持し、DB driver ごとのバックアップ/リストアを提供する。SQLite と PostgreSQL のSQL dumpは相互に復元せず、DB間のデータ移行にはJSONバックアップを使用する。
完了済み
現在の設計
DB_CONNECTION=pgsql を本番運用の接続として使用する。
- SQLite/PostgreSQLのバックアップは各driverのSQL形式で作成・復元し、cross-driver restoreは明示的に拒否する。
- SQLiteからPostgreSQLへの業務データ移行は、アプリのJSON export/import経路で行う。
- 開発・テストではSQLiteも継続して使用できる。これは本番primary DBの方針と矛盾しない。
残作業
関連
方針
PostgreSQL を primary DB とし、SQLite は移行元・legacy 用途として扱う。
複数PC・複数利用者での運用、ロック制御、厳密な型、PostgreSQL を採用する既存システムとの連携を考慮し、SQLite を運用DBの最終形にはしない。
SQLite の既存データ・バックアップをただちに廃止するものではない。SQLite は移行元および既存環境の互換用として維持し、DB driver ごとのバックアップ/リストアを提供する。SQLite と PostgreSQL のSQL dumpは相互に復元せず、DB間のデータ移行にはJSONバックアップを使用する。
完了済み
.env.pgsql.exampleを追加(PR feat: PostgreSQL移行の第一段階 — 開発環境・migration互換・テストプロファイル (#62) #66)composer run test:pgsql)を追加(PR feat: PostgreSQL移行の第一段階 — 開発環境・migration互換・テストプロファイル (#62) #66)pg_dump/psql経路を追加(PR feat: PostgreSQL向けフルバックアップ・リストアを実装する (#63) #71)現在の設計
DB_CONNECTION=pgsqlを本番運用の接続として使用する。残作業
関連