Update_710
extends DatabaseUpdateBase
in package
Base class for database migration, inspired by Yii.
See more info in README file in same folder.
Table of Contents
Properties
- $db : CDbConnection
- $newVersion : int
- $options : string
Methods
- __construct() : mixed
- getVersion() : int
- Get db version number based on class name, e.g. 123 for Update_123
- safeUp() : void
- Runs up() wrapped in a transaction.
- up() : mixed
- Repairs PostgreSQL databases already migrated to LS7 with stale sequences. Update_700 rebuilt the response/timing tables with a fresh serial "id" (sequence starting at 1) and copied existing rows in with their original ids, which never advanced the sequence, causing duplicate primary key violations on the next response (bug #20640).
- updateVersion() : mixed
- Sets DBVersion in settings global to $this->newVersion Last thing that happens before transaction commit in every update.
Properties
$db
protected
CDbConnection
$db
$newVersion
protected
int
$newVersion
$options
protected
string
$options
Methods
__construct()
public
__construct(CDbConnection $connection, string $options) : mixed
Parameters
- $connection : CDbConnection
- $options : string
-
Specific database options like ENGINE=INNODB etc
getVersion()
Get db version number based on class name, e.g. 123 for Update_123
public
getVersion() : int
Return values
intsafeUp()
Runs up() wrapped in a transaction.
public
safeUp() : void
Will rollback transaction and re-throw exception at failure.
Tags
up()
Repairs PostgreSQL databases already migrated to LS7 with stale sequences. Update_700 rebuilt the response/timing tables with a fresh serial "id" (sequence starting at 1) and copied existing rows in with their original ids, which never advanced the sequence, causing duplicate primary key violations on the next response (bug #20640).
public
up() : mixed
fixPostgresSequence() advances every sequence in the database past its column MAX, which also covers any other tables affected by the same rename.
Tags
updateVersion()
Sets DBVersion in settings global to $this->newVersion Last thing that happens before transaction commit in every update.
private
updateVersion() : mixed