概要
UtilitiesService::restoreDb() はアップロードされたファイル($_FILES 形式の配列)を
前提にしているため、管理画面からしか復元できません。
バックアップ側は bin/cake bc_utility backup_db 相当がありませんが、
少なくとも復元だけでもコマンドから実行できると、次の場面で助かります。
- 大きなバックアップの復元(アップロードサイズ上限・実行時間上限に当たる)
- 4系→5系の移行作業で、変換と復元を繰り返して手順を固める
- ステージング環境の再構築を自動化する
baserCMS version : 5.4.0
TODO
備考
移行作業では、中核である _loadBackup()(zip内の *Schema.php を drop → create し
CSV を投入する)をリフレクションで直接呼ぶスクリプトを書いて回避しました。
restoreDb() と同じ順序で updateSequence とキャッシュクリアも実行しています。
protected メソッドに依存しているので、正攻法ではありません。
概要
UtilitiesService::restoreDb()はアップロードされたファイル($_FILES形式の配列)を前提にしているため、管理画面からしか復元できません。
バックアップ側は
bin/cake bc_utility backup_db相当がありませんが、少なくとも復元だけでもコマンドから実行できると、次の場面で助かります。
baserCMS version : 5.4.0
TODO
restoreDb()のファイル受け取りをパス指定でも可能にする(現状の
$_FILES形式は維持しつつ、文字列パスも受け付ける)bin/cake bc_utility restore_db <zip>相当のコマンドを追加する備考
移行作業では、中核である
_loadBackup()(zip内の*Schema.phpを drop → create しCSV を投入する)をリフレクションで直接呼ぶスクリプトを書いて回避しました。
restoreDb()と同じ順序でupdateSequenceとキャッシュクリアも実行しています。protected メソッドに依存しているので、正攻法ではありません。