private function InstapageCmsPluginDBModel::updateDB in Instapage plugin 8.3
Same name and namespace in other branches
- 7.3 core/models/InstapageCmsPluginDBModel.php \InstapageCmsPluginDBModel::updateDB()
Check current DB structure version and updates it if necessary.
1 call to InstapageCmsPluginDBModel::updateDB()
- InstapageCmsPluginDBModel::initPluginTables in core/
models/ InstapageCmsPluginDBModel.php - Initiates Instapage plugin's DB structure.
File
- core/
models/ InstapageCmsPluginDBModel.php, line 205
Class
- InstapageCmsPluginDBModel
- Class responsible for communication with DB.
Code
private function updateDB() {
$db_version = intval(InstapageCmsPluginHelper::getMetadata('db_version', 0), 10);
if ($db_version < 300000010) {
InstapageCmsPluginHelper::writeDiagnostics($db_version, 'Current db version. Doing update.');
$sql = 'SHOW COLUMNS FROM ' . $this->optionsTable . ' LIKE %s';
$metadata_exists = $this
->getRow($sql, 'metadata');
$sql = 'SHOW COLUMNS FROM ' . $this->pagesTable . ' LIKE %s';
$enterprise_url_exists = $this
->getRow($sql, 'enterprise_url');
if (!$metadata_exists) {
$sql = sprintf('ALTER TABLE %s ADD metadata TEXT NULL', $this->optionsTable);
$this
->query($sql);
}
if (!$enterprise_url_exists) {
$sql = sprintf('ALTER TABLE %s ADD enterprise_url VARCHAR(255) DEFAULT \'\' NOT NULL', $this->pagesTable);
$this
->query($sql);
}
$sql = sprintf('ALTER TABLE %s MODIFY api_keys TEXT NULL', $this->optionsTable);
$this
->query($sql);
$sql = sprintf('ALTER TABLE %s MODIFY config TEXT NULL', $this->optionsTable);
$this
->query($sql);
$sql = sprintf('ALTER TABLE %s MODIFY slug VARCHAR(255) DEFAULT \'\' NOT NULL', $this->pagesTable);
$this
->query($sql);
$sql = sprintf('ALTER TABLE %s MODIFY time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL', $this->pagesTable);
$this
->query($sql);
$sql = sprintf('ALTER TABLE %s MODIFY time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL', $this->debugTable);
$this
->query($sql);
InstapageCmsPluginHelper::updateMetadata('db_version', 300000010);
}
}