SystemUpdate
in package
implements
SetupTool
システムアップデートツール(update.php)。旧 setup/update.php の Surfacer_Update。
DB スキーマのアップデート(GET ?step=update → 実行 → 不要カラム削除画面 drop)と、不要カラムの削除
(drop → complete)を行う多段ツール。旧 Surfacer は POST の hidden step と detectStep() の 3 分岐で
状態を密輸していたが、GET の step と「更新実行 → その場で drop 画面」という本来の流れを素直に写す。
スキーマ操作は Acms\Services\Update\Database\Schema、更新本体は Acms\Services\Update\Engine に委譲する。
screen トークン(apply / update:error / drop / complete)は Twig を壊さないよう旧来のまま維持する。
Table of Contents
Interfaces
- SetupTool
- setup メンテナンスツール(fix / import / update)の契約。
Methods
- handle() : ToolView
- 送信時の検証と実行。副作用(DB/ファイル)はこの中に閉じ、結果を ToolView で返す。
- show() : ToolView
- 未送信(初回 GET 等)の表示。フォーム/一覧を組んだ ToolView を返す。
- template() : string
- 描画に使う setup 専用 Twig テンプレート(`@setup/...twig`)。
- checkAlterPermission() : array{permitted: bool, mysqlErr: string}
- completeData() : array<string, mixed>
- complete 画面のデータ。
- confirmData() : array<string, mixed>
- apply / update:error 画面のデータ。
- dropData() : array<string, mixed>
- drop 画面のデータ(未使用カラム一覧)。
- flushCaches() : void
- runDrop() : ToolView
- 選択された不要カラムを削除し、アップデートを完了する。
- runUpdate() : ToolView
- スキーマ/config を最新へ更新する。成功したら不要カラム削除(drop)画面へ進む。
Methods
handle()
送信時の検証と実行。副作用(DB/ファイル)はこの中に閉じ、結果を ToolView で返す。
public
handle(Request $request, SetupSession $session) : ToolView
Parameters
- $request : Request
- $session : SetupSession
Return values
ToolViewshow()
未送信(初回 GET 等)の表示。フォーム/一覧を組んだ ToolView を返す。
public
show(Request $request) : ToolView
Parameters
- $request : Request
Return values
ToolViewtemplate()
描画に使う setup 専用 Twig テンプレート(`@setup/...twig`)。
public
template() : string
Return values
stringcheckAlterPermission()
private
checkAlterPermission() : array{permitted: bool, mysqlErr: string}
Return values
array{permitted: bool, mysqlErr: string}completeData()
complete 画面のデータ。
private
completeData() : array<string, mixed>
Return values
array<string, mixed>confirmData()
apply / update:error 画面のデータ。
private
confirmData(bool $permitted, string $mysqlErr) : array<string, mixed>
Parameters
- $permitted : bool
- $mysqlErr : string
Return values
array<string, mixed>dropData()
drop 画面のデータ(未使用カラム一覧)。
private
dropData() : array<string, mixed>
Return values
array<string, mixed>flushCaches()
private
flushCaches() : void
runDrop()
選択された不要カラムを削除し、アップデートを完了する。
private
runDrop(Field $post) : ToolView
Parameters
- $post : Field
Return values
ToolViewrunUpdate()
スキーマ/config を最新へ更新する。成功したら不要カラム削除(drop)画面へ進む。
private
runUpdate() : ToolView