mirror of
https://github.com/wallabag/wallabag.git
synced 2025-01-03 13:28:41 +00:00
Added dropColumn for SQLite and some enhancements
This commit is contained in:
parent
a4d55a9161
commit
84c6a48df4
6 changed files with 37 additions and 35 deletions
|
@ -29,12 +29,18 @@ class Version20161024212538 extends AbstractMigration implements ContainerAwareI
|
|||
*/
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
||||
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
|
||||
|
||||
$this->skipIf($schema->getTable($this->getTable('oauth2_clients'))->hasColumn('user_id'), 'It seems that you already played this migration.');
|
||||
$this->skipIf($clientsTable->hasColumn('user_id'), 'It seems that you already played this migration.');
|
||||
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD user_id INT(11) DEFAULT NULL');
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD CONSTRAINT FK_clients_user_clients FOREIGN KEY (user_id) REFERENCES '.$this->getTable('user').' (id) ON DELETE CASCADE');
|
||||
$clientsTable->addColumn('user_id', 'integer');
|
||||
|
||||
$clientsTable->addForeignKeyConstraint(
|
||||
$this->getTable('user'),
|
||||
array('user_id'),
|
||||
array('id'),
|
||||
array('onDelete' => 'CASCADE')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -37,8 +37,6 @@ class Version20161031132655 extends AbstractMigration implements ContainerAwareI
|
|||
*/
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->skipIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
||||
|
||||
$this->addSql('DELETE FROM "'.$this->getTable('craue_config_setting')."\" WHERE name = 'download_images_enabled';");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,18 +29,8 @@ class Version20161104073720 extends AbstractMigration implements ContainerAwareI
|
|||
*/
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
switch ($this->connection->getDatabasePlatform()->getName()) {
|
||||
case 'sqlite':
|
||||
$this->addSql('CREATE INDEX `created_at` ON `'.$this->getTable('entry').'` (`created_at` DESC)');
|
||||
break;
|
||||
|
||||
case 'mysql':
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' ADD INDEX created_at (created_at);');
|
||||
break;
|
||||
|
||||
case 'postgresql':
|
||||
$this->addSql('CREATE INDEX created_at ON '.$this->getTable('entry').' (created_at DESC)');
|
||||
}
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$entryTable->addIndex(['created_at']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -29,9 +29,13 @@ class Version20161106113822 extends AbstractMigration implements ContainerAwareI
|
|||
*/
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf($schema->getTable($this->getTable('config'))->hasColumn('action_mark_as_read'), 'It seems that you already played this migration.');
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('config').' ADD action_mark_as_read INT DEFAULT 0');
|
||||
$this->skipIf($configTable->hasColumn('action_mark_as_read'), 'It seems that you already played this migration.');
|
||||
|
||||
$configTable->addColumn('action_mark_as_read', 'integer', [
|
||||
'default' => 0,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -39,8 +43,7 @@ class Version20161106113822 extends AbstractMigration implements ContainerAwareI
|
|||
*/
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->skipIf($this->connection->getDatabasePlatform()->getName() != 'sqlite', 'This down migration can\'t be executed on SQLite databases, because SQLite don\'t support DROP COLUMN.');
|
||||
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('config').' DROP action_mark_as_read');
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
$userTable->dropColumn('action_mark_as_read');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,9 +32,14 @@ class Version20161118134328 extends AbstractMigration implements ContainerAwareI
|
|||
*/
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf($schema->getTable($this->getTable('entry'))->hasColumn('http_status'), 'It seems that you already played this migration.');
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' ADD http_status VARCHAR(3) DEFAULT NULL');
|
||||
$this->skipIf($entryTable->hasColumn('http_status'), 'It seems that you already played this migration.');
|
||||
|
||||
$entryTable->addColumn('http_status', 'string', [
|
||||
'length' => 3,
|
||||
'notnull' => false,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -42,8 +47,7 @@ class Version20161118134328 extends AbstractMigration implements ContainerAwareI
|
|||
*/
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->skipIf($this->connection->getDatabasePlatform()->getName() != 'sqlite', 'This down migration can\'t be executed on SQLite databases, because SQLite don\'t support DROP COLUMN.');
|
||||
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('entry').' DROP http_status');
|
||||
$userTable = $schema->getTable($this->getTable('entry'));
|
||||
$userTable->dropColumn('http_status');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,15 +40,15 @@ class Version20161122203647 extends AbstractMigration implements ContainerAwareI
|
|||
*/
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf($this->connection->getDatabasePlatform()->getName() === 'sqlite', 'This up migration can\'t be executed on SQLite databases, because SQLite don\'t support DROP COLUMN.');
|
||||
$userTable = $schema->getTable($this->getTable('user'));
|
||||
|
||||
$this->skipIf(false === $schema->getTable($this->getTable('user'))->hasColumn('expired'), 'It seems that you already played this migration.');
|
||||
$this->skipIf(false === $userTable->hasColumn('expired'), 'It seems that you already played this migration.');
|
||||
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('user').' DROP expired');
|
||||
$userTable->dropColumn('expired');
|
||||
|
||||
$this->skipIf(false === $schema->getTable($this->getTable('user'))->hasColumn('credentials_expired'), 'It seems that you already played this migration.');
|
||||
$this->skipIf(false === $userTable->hasColumn('credentials_expired'), 'It seems that you already played this migration.');
|
||||
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('user').' DROP credentials_expired');
|
||||
$userTable->dropColumn('credentials_expired');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -56,7 +56,8 @@ class Version20161122203647 extends AbstractMigration implements ContainerAwareI
|
|||
*/
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('user').' ADD expired tinyint(1) NULL DEFAULT 0');
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('user').' ADD credentials_expired tinyint(1) NULL DEFAULT 0');
|
||||
$userTable = $schema->getTable($this->getTable('user'));
|
||||
$userTable->addColumn('expired', 'smallint');
|
||||
$userTable->addColumn('credentials_expired', 'smallint');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue