SequenceInitializer
in package
FinalYes
a-blog cms の sequence テーブルを冪等に初期化する
sequence テーブルは各 ID の最新値 (nextval) を保持する。初回インストール時や 新規テスト環境構築時に初期行が無いと nextval が機能せずに blog_id / entry_id 等の 採番が 0 になってしまう。
使い方: $initializer = Application::make('installer.sequence'); $initializer->ensureInitialized(); // 初期化済みなら何もしない
Table of Contents
Constants
- INITIAL_SEQUENCE = ['blog_id' => 0, 'alias_id' => 0, 'user_id' => 0, 'category_id' => 0, 'entry_id' => 0, 'comment_id' => 0, 'rule_id' => 0, 'module_id' => 0, 'form_id' => 0, 'media_id' => 0, 'role_id' => 0, 'usergroup_id' => 0, 'approval_id' => 0, 'schedule_id' => 0, 'shop_address_id' => 0]
- 初期値 (Import::initSeq / SetupCommon::getSequence を Services 層に移植)
Methods
- ensureInitialized() : bool
- sequence テーブルを初期化する。既に初期化済みなら何もしない。
- isInitialized() : bool
- sequence テーブルが既に初期化されているか
Constants
INITIAL_SEQUENCE
初期値 (Import::initSeq / SetupCommon::getSequence を Services 層に移植)
private
array<string, int|string>
INITIAL_SEQUENCE
= ['blog_id' => 0, 'alias_id' => 0, 'user_id' => 0, 'category_id' => 0, 'entry_id' => 0, 'comment_id' => 0, 'rule_id' => 0, 'module_id' => 0, 'form_id' => 0, 'media_id' => 0, 'role_id' => 0, 'usergroup_id' => 0, 'approval_id' => 0, 'schedule_id' => 0, 'shop_address_id' => 0]
Methods
ensureInitialized()
sequence テーブルを初期化する。既に初期化済みなら何もしない。
public
ensureInitialized() : bool
Return values
bool —初期化を行った場合 true、既に初期化済みで何もしなかった場合 false
isInitialized()
sequence テーブルが既に初期化されているか
public
isInitialized() : bool