Files
shortlink/config/Migrations/20170329165037_version370.php
2024-03-17 11:39:27 +07:00

75 lines
2.0 KiB
PHP

<?php
use Migrations\AbstractMigration;
class Version370 extends AbstractMigration
{
public $autoId = false;
public function up()
{
$this->execute("SET SESSION sql_mode = ''");
$table_prefix = $this->getAdapter()->getOption('table_prefix');
$this->execute('ALTER TABLE `' . $table_prefix . 'links` CHANGE `alias` ' .
'`alias` VARCHAR(30) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL;');
$rows = [
[
'name' => 'language_auto_redirect',
'value' => 0,
],
[
'name' => 'invisible_reCAPTCHA_site_key',
'value' => '',
],
[
'name' => 'invisible_reCAPTCHA_secret_key',
'value' => '',
],
];
$this->table('options')
->insert($rows)
->saveData();
$this->table('campaign_items')
->addIndex(['weight', 'country'], ['name' => 'idx_weight_country'])
->update();
$this->table('links')
->addColumn('method', 'integer', [
'after' => 'hits',
'comment' => '1=web, 2=quick, 3=mass, 4=full, 5=api',
'default' => 0,
'limit' => 2,
'null' => false,
'signed' => false,
])
->update();
}
public function down()
{
$this->execute("SET SESSION sql_mode = ''");
$table_prefix = $this->getAdapter()->getOption('table_prefix');
$items = implode(",", [
"'language_auto_redirect'",
"'invisible_reCAPTCHA_site_key'",
"'invisible_reCAPTCHA_secret_key'",
]);
$this->execute("DELETE FROM `{$table_prefix}options` WHERE `name` IN ({$items});");
$this->table('campaign_items')
->removeIndexByName('idx_weight_country')
->update();
$this->table('links')
->removeColumn('method')
->update();
}
}