class CRM_Upgrade_Incremental_Base

Base class for incremental upgrades

Constants

BATCH_SIZE

Methods

bool
verifyPreDBstate($errors)

Verify DB state.

setPreUpgradeMessage($preUpgradeMessage, string $rev, null $currentVer = NULL)

Compute any messages which should be displayed before upgrade.

setPostUpgradeMessage(string $postUpgradeMessage, string $rev)

Compute any messages which should be displayed after upgrade.

static bool
runSql(CRM_Queue_TaskContext $ctx, string $rev)

(Queue Task Callback)

addTask(string $title, string $funcName)

Syntactic sugar for adding a task.

static bool
removePaymentProcessorType(CRM_Queue_TaskContext $ctx, string $name)

Remove a payment processor if not in use

static bool
checkFKExists(string $table_name, string $constraint_name)

No description

static bool
addColumn(CRM_Queue_TaskContext $ctx, string $table, string $column, string $properties, bool $localizable = FALSE, string|null $version = NULL)

Add a column to a table if it doesn't already exist

static 
updateMessageTemplates(CRM_Queue_TaskContext $ctx, string $version)

Do any relevant message template updates.

static bool
updateContributeSettings($ctx)

Re-save any valid values from contribute settings into the normal setting format.

bool
updateSmartGroups(CRM_Queue_TaskContext $ctx, array $actions)

Do any relevant smart group updates.

static bool
dropColumn(CRM_Queue_TaskContext $ctx, string $table, string $column)

Drop a column from a table if it exist.

static bool
addIndex(CRM_Queue_TaskContext $ctx, string $table, string|array $column)

Add a index to a table column.

static bool
dropIndex(CRM_Queue_TaskContext $ctx, string $table, string $indexName)

Drop a index from a table if it exist.

static bool
dropTableIfEmpty(CRM_Queue_TaskContext $ctx, string $table)

Drop a table.

static bool
rebuildMultilingalSchema(CRM_Queue_TaskContext $ctx, string|null $version = NULL)

Rebuild Multilingual Schema.

Details

at line 41
bool verifyPreDBstate($errors)

Verify DB state.

Parameters

$errors

Return Value

bool

at line 56
setPreUpgradeMessage($preUpgradeMessage, string $rev, null $currentVer = NULL)

Compute any messages which should be displayed before upgrade.

Note: This function is called iteratively for each upcoming revision to the database.

Parameters

$preUpgradeMessage
string $rev a version number, e.g. '4.8.alpha1', '4.8.beta3', '4.8.0'.
null $currentVer

at line 67
setPostUpgradeMessage(string $postUpgradeMessage, string $rev)

Compute any messages which should be displayed after upgrade.

Parameters

string $postUpgradeMessage alterable.
string $rev an intermediate version; note that setPostUpgradeMessage is called repeatedly with different $revs.

at line 78
static bool runSql(CRM_Queue_TaskContext $ctx, string $rev)

(Queue Task Callback)

Parameters

CRM_Queue_TaskContext $ctx
string $rev

Return Value

bool

at line 96
protected addTask(string $title, string $funcName)

Syntactic sugar for adding a task.

Task is (a) in this class and (b) has a high priority.

After passing the $funcName, you can also pass parameters that will go to the function. Note that all params must be serializable.

Parameters

string $title
string $funcName

at line 121
static bool removePaymentProcessorType(CRM_Queue_TaskContext $ctx, string $name)

Remove a payment processor if not in use

Parameters

CRM_Queue_TaskContext $ctx
string $name

Return Value

bool

Exceptions

CiviCRM_API3_Exception

at line 140
static bool checkFKExists(string $table_name, string $constraint_name)

Parameters

string $table_name
string $constraint_name

Return Value

bool

at line 156
static bool addColumn(CRM_Queue_TaskContext $ctx, string $table, string $column, string $properties, bool $localizable = FALSE, string|null $version = NULL)

Add a column to a table if it doesn't already exist

Parameters

CRM_Queue_TaskContext $ctx
string $table
string $column
string $properties
bool $localizable is this a field that should be localized
string|null $version CiviCRM version to use if rebuilding multilingual schema

Return Value

bool

at line 194
static updateMessageTemplates(CRM_Queue_TaskContext $ctx, string $version)

Do any relevant message template updates.

Parameters

CRM_Queue_TaskContext $ctx
string $version

at line 213
static bool updateContributeSettings($ctx)

Re-save any valid values from contribute settings into the normal setting format.

We render the array of contribution_invoice_settings and any that have metadata defined we add to the correct key. This is safe to run even if no settings are to be converted, per the test in testConvertUpgradeContributeSettings.

Parameters

$ctx

Return Value

bool

at line 231
bool updateSmartGroups(CRM_Queue_TaskContext $ctx, array $actions)

Do any relevant smart group updates.

Parameters

CRM_Queue_TaskContext $ctx
array $actions

Return Value

bool

at line 245
static bool dropColumn(CRM_Queue_TaskContext $ctx, string $table, string $column)

Drop a column from a table if it exist.

Parameters

CRM_Queue_TaskContext $ctx
string $table
string $column

Return Value

bool

at line 261
static bool addIndex(CRM_Queue_TaskContext $ctx, string $table, string|array $column)

Add a index to a table column.

Parameters

CRM_Queue_TaskContext $ctx
string $table
string|array $column

Return Value

bool

at line 276
static bool dropIndex(CRM_Queue_TaskContext $ctx, string $table, string $indexName)

Drop a index from a table if it exist.

Parameters

CRM_Queue_TaskContext $ctx
string $table
string $indexName

Return Value

bool

at line 289
static bool dropTableIfEmpty(CRM_Queue_TaskContext $ctx, string $table)

Drop a table.

.. but only if it's empty.

Parameters

CRM_Queue_TaskContext $ctx
string $table

Return Value

bool

at line 309
static bool rebuildMultilingalSchema(CRM_Queue_TaskContext $ctx, string|null $version = NULL)

Rebuild Multilingual Schema.

Parameters

CRM_Queue_TaskContext $ctx
string|null $version CiviCRM version to use if rebuilding multilingual schema

Return Value

bool