a-blog cms PHP API Reference

Replication
in package

Table of Contents

Constants

BACKUP_PREFIX  = 'backup_'
退避(バックアップ)テーブルへ付与する接頭辞。 本番テーブル名(DB_PREFIX 付き)の前に付与する(例: backup_acms_blog / backup_mysite_blog)。 STAGING_PREFIX と対称で、DB_PREFIX に依存せず一貫した命名になる。
STAGING_PREFIX  = 'restore_'
リストア時にステージング用テーブルへ付与する接頭辞。 本番テーブル名(DB_PREFIX 付き)の前にさらに付与する(例: restore_acms_blog)。

Properties

$db  : Base
$dbName  : string
$dsn  : array<string|int, mixed>

Methods

__construct()  : mixed
authorityValidation()  : mixed
buildCreateTableSql()  : string
テーブル作成クエリの組み立て
buildDropStagingSql()  : string
ステージング用テーブルを削除する DROP 文を組み立てる。
buildInsertSql()  : void
データ投入sqlの組み立て
buildSwapSql()  : string
ステージングテーブルを本番テーブルとアトミックに入れ替える RENAME 文を組み立てる。
dropAllTables()  : void
全テーブルの削除
dropCashTable()  : void
一時テーブルの削除
dropStagingTables()  : void
ステージング用テーブル(restore_acms_*)を削除する。
getTableList()  : array<string|int, mixed>
全テーブルの取得
renameAllTable()  : void
全テーブルのリネーム
rewriteDomain()  : void
ドメインの書き換え
swapStagingTables()  : void
ステージングテーブルを本番テーブルとアトミックに入れ替える。
backupTableName()  : string
退避(バックアップ)テーブル名を組み立てる。 本番テーブル名(DB_PREFIX 付き)の前に BACKUP_PREFIX を付与する(例: acms_blog -> backup_acms_blog)。
isBackupTableName()  : bool
自インストールの退避(バックアップ)テーブルかどうかを判定する。 退避名は backup_<DB接頭辞>... になるため、その接頭辞で始まるものだけを対象とする。 (旧バージョンの二重接頭辞 backup_acms_<本番名> も、デフォルト接頭辞環境では backup_acms_ で始まるため同じ判定で拾える。)別接頭辞インストールの退避は対象外。

Constants

BACKUP_PREFIX

退避(バックアップ)テーブルへ付与する接頭辞。 本番テーブル名(DB_PREFIX 付き)の前に付与する(例: backup_acms_blog / backup_mysite_blog)。 STAGING_PREFIX と対称で、DB_PREFIX に依存せず一貫した命名になる。

public mixed BACKUP_PREFIX = 'backup_'

STAGING_PREFIX

リストア時にステージング用テーブルへ付与する接頭辞。 本番テーブル名(DB_PREFIX 付き)の前にさらに付与する(例: restore_acms_blog)。

public mixed STAGING_PREFIX = 'restore_'

Properties

Methods

__construct()

public __construct([mixed $dsn = null ]) : mixed
Parameters
$dsn : mixed = null

authorityValidation()

public authorityValidation() : mixed
Tags
throws
RuntimeException

buildCreateTableSql()

テーブル作成クエリの組み立て

public buildCreateTableSql() : string
Return values
string

buildDropStagingSql()

ステージング用テーブルを削除する DROP 文を組み立てる。

public static buildDropStagingSql(array<int, string> $tables, string $dbPrefix) : string
Parameters
$tables : array<int, string>

現在の全テーブル名

$dbPrefix : string

DB のテーブル接頭辞(例: acms_)

Return values
string

対象が無ければ空文字

buildInsertSql()

データ投入sqlの組み立て

public buildInsertSql(string $table, resource &$handle) : void
Parameters
$table : string
$handle : resource

buildSwapSql()

ステージングテーブルを本番テーブルとアトミックに入れ替える RENAME 文を組み立てる。

public static buildSwapSql(array<int, string> $tables, string $dbPrefix) : string

現在の本番テーブル(DB_PREFIX 付き)を backup_acms_* へ退避し、ステージング (restore_acms_*)を本番名へ昇格する組を、単一の RENAME TABLE 文にまとめる。 退避→昇格の順に並べることで、本番名が一旦解放されてから昇格される。 単一文にすることで、テーブルが存在しない時間帯(本番閲覧で 500 になる窓)を最小化する。

Parameters
$tables : array<int, string>

現在の全テーブル名

$dbPrefix : string

DB のテーブル接頭辞(例: acms_)

Tags
throws
RuntimeException

ステージングテーブルが存在しない場合

Return values
string

dropAllTables()

全テーブルの削除

public dropAllTables() : void

dropCashTable()

一時テーブルの削除

public dropCashTable() : void

dropStagingTables()

ステージング用テーブル(restore_acms_*)を削除する。

public dropStagingTables() : void

getTableList()

全テーブルの取得

public getTableList() : array<string|int, mixed>
Return values
array<string|int, mixed>

renameAllTable()

全テーブルのリネーム

public renameAllTable() : void

rewriteDomain()

ドメインの書き換え

public rewriteDomain(string $new_domain, string $name) : void
Parameters
$new_domain : string
$name : string
Tags
throws
RuntimeException

書き換えに失敗した場合

swapStagingTables()

ステージングテーブルを本番テーブルとアトミックに入れ替える。

public swapStagingTables() : void
Tags
throws
RuntimeException

入れ替えに失敗した場合

backupTableName()

退避(バックアップ)テーブル名を組み立てる。 本番テーブル名(DB_PREFIX 付き)の前に BACKUP_PREFIX を付与する(例: acms_blog -> backup_acms_blog)。

private static backupTableName(string $liveTable) : string
Parameters
$liveTable : string
Return values
string

isBackupTableName()

自インストールの退避(バックアップ)テーブルかどうかを判定する。 退避名は backup_<DB接頭辞>... になるため、その接頭辞で始まるものだけを対象とする。 (旧バージョンの二重接頭辞 backup_acms_<本番名> も、デフォルト接頭辞環境では backup_acms_ で始まるため同じ判定で拾える。)別接頭辞インストールの退避は対象外。

private static isBackupTableName(string $table, string $dbPrefix) : bool
Parameters
$table : string
$dbPrefix : string
Return values
bool

        
On this page

Search results