Update all Doctrine deps

Also update these deps to be compatible with latest Doctrine version:
- `friendsofsymfony/oauth-server-bundle`
- `lexik/form-filter-bundle`
- `dama/doctrine-test-bundle`
This commit is contained in:
Jeremy Benoist 2022-12-14 14:36:29 +01:00
parent 8f473ecf5c
commit b3099f68c5
No known key found for this signature in database
GPG key ID: 7168D5DD29F38552
53 changed files with 565 additions and 688 deletions

View file

@ -22,10 +22,6 @@ updates:
- j0k3r - j0k3r
- tcitworld - tcitworld
- Kdecherf - Kdecherf
ignore:
- dependency-name: doctrine/doctrine-migrations-bundle
versions:
- "> 1.3.2"
- package-ecosystem: github-actions - package-ecosystem: github-actions
directory: "/" directory: "/"
schedule: schedule:

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20160401000000 extends WallabagMigration class Version20160401000000 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$this->skipIf($schema->hasTable($this->getTable('entry')), 'Database already initialized'); $this->skipIf($schema->hasTable($this->getTable('entry')), 'Database already initialized');
@ -70,7 +70,7 @@ CREATE TABLE {$this->getTable('oauth2_clients')} (id INT AUTO_INCREMENT NOT NULL
CREATE TABLE {$this->getTable('oauth2_access_tokens')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_368A42095F37A13B (token), INDEX IDX_368A420919EB6921 (client_id), INDEX IDX_368A4209A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; CREATE TABLE {$this->getTable('oauth2_access_tokens')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_368A42095F37A13B (token), INDEX IDX_368A420919EB6921 (client_id), INDEX IDX_368A4209A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('oauth2_refresh_tokens')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_20C9FB245F37A13B (token), INDEX IDX_20C9FB2419EB6921 (client_id), INDEX IDX_20C9FB24A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; CREATE TABLE {$this->getTable('oauth2_refresh_tokens')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_20C9FB245F37A13B (token), INDEX IDX_20C9FB2419EB6921 (client_id), INDEX IDX_20C9FB24A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('oauth2_auth_codes')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, redirect_uri LONGTEXT NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_EE52E3FA5F37A13B (token), INDEX IDX_EE52E3FA19EB6921 (client_id), INDEX IDX_EE52E3FAA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; CREATE TABLE {$this->getTable('oauth2_auth_codes')} (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, redirect_uri LONGTEXT NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_EE52E3FA5F37A13B (token), INDEX IDX_EE52E3FA19EB6921 (client_id), INDEX IDX_EE52E3FAA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('user')} (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled TINYINT(1) NOT NULL, salt VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, locked TINYINT(1) NOT NULL, expired TINYINT(1) NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(255) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles LONGTEXT NOT NULL COMMENT '(DC2Type:array)', credentials_expired TINYINT(1) NOT NULL, credentials_expire_at DATETIME DEFAULT NULL, name LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INT DEFAULT NULL, twoFactorAuthentication TINYINT(1) NOT NULL, trusted LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json_array)', UNIQUE INDEX UNIQ_1D63E7E592FC23A8 (username_canonical), UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF (email_canonical), UNIQUE INDEX UNIQ_1D63E7E5C05FB297 (confirmation_token), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; CREATE TABLE {$this->getTable('user')} (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled TINYINT(1) NOT NULL, salt VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, locked TINYINT(1) NOT NULL, expired TINYINT(1) NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(255) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles LONGTEXT NOT NULL COMMENT '(DC2Type:array)', credentials_expired TINYINT(1) NOT NULL, credentials_expire_at DATETIME DEFAULT NULL, name LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INT DEFAULT NULL, twoFactorAuthentication TINYINT(1) NOT NULL, trusted LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json)', UNIQUE INDEX UNIQ_1D63E7E592FC23A8 (username_canonical), UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF (email_canonical), UNIQUE INDEX UNIQ_1D63E7E5C05FB297 (confirmation_token), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE {$this->getTable('annotation')} (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, entry_id INT DEFAULT NULL, text LONGTEXT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, quote VARCHAR(255) NOT NULL, ranges LONGTEXT NOT NULL COMMENT '(DC2Type:array)', INDEX IDX_A7AED006A76ED395 (user_id), INDEX IDX_A7AED006BA364942 (entry_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; CREATE TABLE {$this->getTable('annotation')} (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, entry_id INT DEFAULT NULL, text LONGTEXT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, quote VARCHAR(255) NOT NULL, ranges LONGTEXT NOT NULL COMMENT '(DC2Type:array)', INDEX IDX_A7AED006A76ED395 (user_id), INDEX IDX_A7AED006BA364942 (entry_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
ALTER TABLE {$this->getTable('entry')} ADD CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id); ALTER TABLE {$this->getTable('entry')} ADD CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES {$this->getTable('user')} (id);
ALTER TABLE {$this->getTable('entry_tag')} ADD CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES {$this->getTable('entry')} (id); ALTER TABLE {$this->getTable('entry_tag')} ADD CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES {$this->getTable('entry')} (id);
@ -127,7 +127,7 @@ CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON {$this->getTable('user')} (username
CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON {$this->getTable('user')} (email_canonical); CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON {$this->getTable('user')} (email_canonical);
CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON {$this->getTable('user')} (confirmation_token); CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON {$this->getTable('user')} (confirmation_token);
COMMENT ON COLUMN {$this->getTable('user')}.roles IS '(DC2Type:array)'; COMMENT ON COLUMN {$this->getTable('user')}.roles IS '(DC2Type:array)';
COMMENT ON COLUMN {$this->getTable('user')}.trusted IS '(DC2Type:json_array)'; COMMENT ON COLUMN {$this->getTable('user')}.trusted IS '(DC2Type:json)';
CREATE TABLE {$this->getTable('annotation')} (id INT NOT NULL, user_id INT DEFAULT NULL, entry_id INT DEFAULT NULL, text TEXT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, quote VARCHAR(255) NOT NULL, ranges TEXT NOT NULL, PRIMARY KEY(id)); CREATE TABLE {$this->getTable('annotation')} (id INT NOT NULL, user_id INT DEFAULT NULL, entry_id INT DEFAULT NULL, text TEXT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, quote VARCHAR(255) NOT NULL, ranges TEXT NOT NULL, PRIMARY KEY(id));
CREATE INDEX IDX_A7AED006A76ED395 ON {$this->getTable('annotation')} (user_id); CREATE INDEX IDX_A7AED006A76ED395 ON {$this->getTable('annotation')} (user_id);
CREATE INDEX IDX_A7AED006BA364942 ON {$this->getTable('annotation')} (entry_id); CREATE INDEX IDX_A7AED006BA364942 ON {$this->getTable('annotation')} (entry_id);
@ -164,7 +164,7 @@ SQL
} }
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->addSql("DROP TABLE {$this->getTable('craue_config_setting')}"); $this->addSql("DROP TABLE {$this->getTable('craue_config_setting')}");
$this->addSql("DROP TABLE {$this->getTable('tagging_rule')}"); $this->addSql("DROP TABLE {$this->getTable('tagging_rule')}");

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20160410190541 extends WallabagMigration class Version20160410190541 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
@ -24,14 +24,14 @@ class Version20160410190541 extends WallabagMigration
$sharePublic = $this->container $sharePublic = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_public'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_public'");
if (false === $sharePublic) { if (false === $sharePublic) {
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('share_public', '1', 'entry')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('share_public', '1', 'entry')");
} }
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$entryTable->dropColumn('uid'); $entryTable->dropColumn('uid');

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20160812120952 extends WallabagMigration class Version20160812120952 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$clientsTable = $schema->getTable($this->getTable('oauth2_clients')); $clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
$this->skipIf($clientsTable->hasColumn('name'), 'It seems that you already played this migration.'); $this->skipIf($clientsTable->hasColumn('name'), 'It seems that you already played this migration.');
@ -31,7 +31,7 @@ class Version20160812120952 extends WallabagMigration
} }
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$clientsTable = $schema->getTable($this->getTable('oauth2_clients')); $clientsTable = $schema->getTable($this->getTable('oauth2_clients'));

View file

@ -10,12 +10,12 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20160911214952 extends WallabagMigration class Version20160911214952 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$redis = $this->container $redis = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_redis'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_redis'");
if (false === $redis) { if (false === $redis) {
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('import_with_redis', 0, 'import')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('import_with_redis', 0, 'import')");
@ -24,7 +24,7 @@ class Version20160911214952 extends WallabagMigration
$rabbitmq = $this->container $rabbitmq = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_rabbitmq'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_rabbitmq'");
if (false === $rabbitmq) { if (false === $rabbitmq) {
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('import_with_rabbitmq', 0, 'import')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('import_with_rabbitmq', 0, 'import')");
@ -33,7 +33,7 @@ class Version20160911214952 extends WallabagMigration
$this->skipIf(false !== $rabbitmq && false !== $redis, 'It seems that you already played this migration.'); $this->skipIf(false !== $rabbitmq && false !== $redis, 'It seems that you already played this migration.');
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_redis';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_redis';");
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_rabbitmq';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_rabbitmq';");

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20160916201049 extends WallabagMigration class Version20160916201049 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$configTable = $schema->getTable($this->getTable('config')); $configTable = $schema->getTable($this->getTable('config'));
@ -20,7 +20,7 @@ class Version20160916201049 extends WallabagMigration
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'pocket_consumer_key';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'pocket_consumer_key';");
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$configTable = $schema->getTable($this->getTable('config')); $configTable = $schema->getTable($this->getTable('config'));
$configTable->dropColumn('pocket_consumer_key'); $configTable->dropColumn('pocket_consumer_key');

View file

@ -11,7 +11,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20161001072726 extends WallabagMigration class Version20161001072726 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.'); $this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
@ -24,9 +24,8 @@ class Version20161001072726 extends WallabagMigration
WHERE TABLE_NAME = '" . $this->getTable('entry_tag', WallabagMigration::UN_ESCAPED_TABLE) . "' AND CONSTRAINT_NAME LIKE 'FK_%' WHERE TABLE_NAME = '" . $this->getTable('entry_tag', WallabagMigration::UN_ESCAPED_TABLE) . "' AND CONSTRAINT_NAME LIKE 'FK_%'
AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'" AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'"
); );
$query->execute();
foreach ($query->fetchAll() as $fk) { foreach ($query->fetchAllAssociative() as $fk) {
$this->addSql('ALTER TABLE ' . $this->getTable('entry_tag') . ' DROP FOREIGN KEY ' . $fk['CONSTRAINT_NAME']); $this->addSql('ALTER TABLE ' . $this->getTable('entry_tag') . ' DROP FOREIGN KEY ' . $fk['CONSTRAINT_NAME']);
} }
break; break;
@ -42,9 +41,8 @@ class Version20161001072726 extends WallabagMigration
AND conrelid::regclass::text = '" . $this->getTable('entry_tag', WallabagMigration::UN_ESCAPED_TABLE) . "' AND conrelid::regclass::text = '" . $this->getTable('entry_tag', WallabagMigration::UN_ESCAPED_TABLE) . "'
AND n.nspname = 'public';" AND n.nspname = 'public';"
); );
$query->execute();
foreach ($query->fetchAll() as $fk) { foreach ($query->fetchAllAssociative() as $fk) {
$this->addSql('ALTER TABLE ' . $this->getTable('entry_tag') . ' DROP CONSTRAINT ' . $fk['conname']); $this->addSql('ALTER TABLE ' . $this->getTable('entry_tag') . ' DROP CONSTRAINT ' . $fk['conname']);
} }
break; break;
@ -65,9 +63,8 @@ class Version20161001072726 extends WallabagMigration
AND COLUMN_NAME = 'entry_id' AND COLUMN_NAME = 'entry_id'
AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'" AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'"
); );
$query->execute();
foreach ($query->fetchAll() as $fk) { foreach ($query->fetchAllAssociative() as $fk) {
$this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' DROP FOREIGN KEY ' . $fk['CONSTRAINT_NAME']); $this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' DROP FOREIGN KEY ' . $fk['CONSTRAINT_NAME']);
} }
break; break;
@ -84,9 +81,8 @@ class Version20161001072726 extends WallabagMigration
AND n.nspname = 'public' AND n.nspname = 'public'
AND pg_get_constraintdef(c.oid) LIKE '%entry_id%';" AND pg_get_constraintdef(c.oid) LIKE '%entry_id%';"
); );
$query->execute();
foreach ($query->fetchAll() as $fk) { foreach ($query->fetchAllAssociative() as $fk) {
$this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' DROP CONSTRAINT ' . $fk['conname']); $this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' DROP CONSTRAINT ' . $fk['conname']);
} }
break; break;
@ -95,7 +91,7 @@ class Version20161001072726 extends WallabagMigration
$this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES ' . $this->getTable('entry') . ' (id) ON DELETE CASCADE'); $this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES ' . $this->getTable('entry') . ' (id) ON DELETE CASCADE');
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
throw new SkipMigrationException('Too complex ...'); throw new SkipMigrationException('Too complex ...');
} }

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20161022134138 extends WallabagMigration class Version20161022134138 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL'); $this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
@ -38,7 +38,7 @@ class Version20161022134138 extends WallabagMigration
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE `name` `name` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'); $this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE `name` `name` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL'); $this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');

View file

@ -12,7 +12,7 @@ class Version20161024212538 extends WallabagMigration
{ {
private $constraintName = 'IDX_user_oauth_client'; private $constraintName = 'IDX_user_oauth_client';
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$clientsTable = $schema->getTable($this->getTable('oauth2_clients')); $clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
@ -29,7 +29,7 @@ class Version20161024212538 extends WallabagMigration
); );
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$clientsTable = $schema->getTable($this->getTable('oauth2_clients')); $clientsTable = $schema->getTable($this->getTable('oauth2_clients'));

View file

@ -10,19 +10,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20161031132655 extends WallabagMigration class Version20161031132655 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$images = $this->container $images = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_images_enabled'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_images_enabled'");
$this->skipIf(false !== $images, 'It seems that you already played this migration.'); $this->skipIf(false !== $images, 'It seems that you already played this migration.');
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('download_images_enabled', 0, 'misc')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('download_images_enabled', 0, 'misc')");
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_images_enabled';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_images_enabled';");
} }

View file

@ -12,7 +12,7 @@ class Version20161104073720 extends WallabagMigration
{ {
private $indexName = 'IDX_entry_created_at'; private $indexName = 'IDX_entry_created_at';
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.'); $this->skipIf($entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
@ -20,7 +20,7 @@ class Version20161104073720 extends WallabagMigration
$entryTable->addIndex(['created_at'], $this->indexName); $entryTable->addIndex(['created_at'], $this->indexName);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(false === $entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.'); $this->skipIf(false === $entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20161106113822 extends WallabagMigration class Version20161106113822 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$configTable = $schema->getTable($this->getTable('config')); $configTable = $schema->getTable($this->getTable('config'));
@ -22,7 +22,7 @@ class Version20161106113822 extends WallabagMigration
]); ]);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$configTable = $schema->getTable($this->getTable('config')); $configTable = $schema->getTable($this->getTable('config'));

View file

@ -10,12 +10,12 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20161117071626 extends WallabagMigration class Version20161117071626 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$share = $this->container $share = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_unmark'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_unmark'");
if (false === $share) { if (false === $share) {
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('share_unmark', 0, 'entry')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('share_unmark', 0, 'entry')");
@ -24,7 +24,7 @@ class Version20161117071626 extends WallabagMigration
$unmark = $this->container $unmark = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'unmark_url'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'unmark_url'");
if (false === $unmark) { if (false === $unmark) {
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')");
@ -33,7 +33,7 @@ class Version20161117071626 extends WallabagMigration
$this->skipIf(false !== $share && false !== $unmark, 'It seems that you already played this migration.'); $this->skipIf(false !== $share && false !== $unmark, 'It seems that you already played this migration.');
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_unmark';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_unmark';");
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'unmark_url';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'unmark_url';");

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20161118134328 extends WallabagMigration class Version20161118134328 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
@ -22,7 +22,7 @@ class Version20161118134328 extends WallabagMigration
]); ]);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));

View file

@ -10,19 +10,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20161122144743 extends WallabagMigration class Version20161122144743 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$access = $this->container $access = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'restricted_access'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'restricted_access'");
$this->skipIf(false !== $access, 'It seems that you already played this migration.'); $this->skipIf(false !== $access, 'It seems that you already played this migration.');
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('restricted_access', 0, 'entry')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('restricted_access', 0, 'entry')");
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'restricted_access';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'restricted_access';");
} }

View file

@ -18,7 +18,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20161122203647 extends WallabagMigration class Version20161122203647 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$userTable = $schema->getTable($this->getTable('user')); $userTable = $schema->getTable($this->getTable('user'));
@ -28,7 +28,7 @@ class Version20161122203647 extends WallabagMigration
$userTable->dropColumn('credentials_expired'); $userTable->dropColumn('credentials_expired');
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$userTable = $schema->getTable($this->getTable('user')); $userTable = $schema->getTable($this->getTable('user'));

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20161128084725 extends WallabagMigration class Version20161128084725 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$configTable = $schema->getTable($this->getTable('config')); $configTable = $schema->getTable($this->getTable('config'));
$this->skipIf($configTable->hasColumn('list_mode'), 'It seems that you already played this migration.'); $this->skipIf($configTable->hasColumn('list_mode'), 'It seems that you already played this migration.');
@ -18,7 +18,7 @@ class Version20161128084725 extends WallabagMigration
$configTable->addColumn('list_mode', 'integer', ['notnull' => false]); $configTable->addColumn('list_mode', 'integer', ['notnull' => false]);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$configTable = $schema->getTable($this->getTable('config')); $configTable = $schema->getTable($this->getTable('config'));
$configTable->dropColumn('list_mode'); $configTable->dropColumn('list_mode');

View file

@ -16,7 +16,7 @@ class Version20161128131503 extends WallabagMigration
'expires_at' => 'datetime', 'expires_at' => 'datetime',
]; ];
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$userTable = $schema->getTable($this->getTable('user')); $userTable = $schema->getTable($this->getTable('user'));
@ -26,7 +26,7 @@ class Version20161128131503 extends WallabagMigration
} }
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$userTable = $schema->getTable($this->getTable('user')); $userTable = $schema->getTable($this->getTable('user'));

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20161214094402 extends WallabagMigration class Version20161214094402 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
@ -32,7 +32,7 @@ class Version20161214094402 extends WallabagMigration
} }
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));

View file

@ -12,7 +12,7 @@ class Version20161214094403 extends WallabagMigration
{ {
private $indexName = 'IDX_entry_uid'; private $indexName = 'IDX_entry_uid';
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.'); $this->skipIf($entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
@ -20,7 +20,7 @@ class Version20161214094403 extends WallabagMigration
$entryTable->addIndex(['uid'], $this->indexName); $entryTable->addIndex(['uid'], $this->indexName);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(false === $entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.'); $this->skipIf(false === $entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');

View file

@ -13,7 +13,7 @@ class Version20170127093841 extends WallabagMigration
private $indexStarredName = 'IDX_entry_starred'; private $indexStarredName = 'IDX_entry_starred';
private $indexArchivedName = 'IDX_entry_archived'; private $indexArchivedName = 'IDX_entry_archived';
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasIndex($this->indexStarredName) && $entryTable->hasIndex($this->indexArchivedName), 'It seems that you already played this migration.'); $this->skipIf($entryTable->hasIndex($this->indexStarredName) && $entryTable->hasIndex($this->indexArchivedName), 'It seems that you already played this migration.');
@ -22,7 +22,7 @@ class Version20170127093841 extends WallabagMigration
$entryTable->addIndex(['is_archived'], $this->indexArchivedName); $entryTable->addIndex(['is_archived'], $this->indexArchivedName);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(false === $entryTable->hasIndex($this->indexStarredName) && false === $entryTable->hasIndex($this->indexArchivedName), 'It seems that you already played this migration.'); $this->skipIf(false === $entryTable->hasIndex($this->indexStarredName) && false === $entryTable->hasIndex($this->indexArchivedName), 'It seems that you already played this migration.');

View file

@ -10,12 +10,12 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170327194233 extends WallabagMigration class Version20170327194233 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$scuttle = $this->container $scuttle = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_scuttle'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_scuttle'");
$this->skipIf(false !== $scuttle, 'It seems that you already played this migration.'); $this->skipIf(false !== $scuttle, 'It seems that you already played this migration.');
@ -23,7 +23,7 @@ class Version20170327194233 extends WallabagMigration
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('scuttle_url', 'http://scuttle.org', 'entry')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('scuttle_url', 'http://scuttle.org', 'entry')");
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_scuttle';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_scuttle';");
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'scuttle_url';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'scuttle_url';");

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170405182620 extends WallabagMigration class Version20170405182620 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
@ -27,7 +27,7 @@ class Version20170405182620 extends WallabagMigration
]); ]);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170407200919 extends WallabagMigration class Version20170407200919 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(!$entryTable->hasColumn('is_public'), 'It seems that you already played this migration.'); $this->skipIf(!$entryTable->hasColumn('is_public'), 'It seems that you already played this migration.');
@ -18,7 +18,7 @@ class Version20170407200919 extends WallabagMigration
$entryTable->dropColumn('is_public'); $entryTable->dropColumn('is_public');
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasColumn('is_public'), 'It seems that you already played this migration.'); $this->skipIf($entryTable->hasColumn('is_public'), 'It seems that you already played this migration.');

View file

@ -10,17 +10,17 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170420134133 extends WallabagMigration class Version20170420134133 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_pictures';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_pictures';");
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$downloadPictures = $this->container $downloadPictures = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_pictures'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_pictures'");
$this->skipIf(false !== $downloadPictures, 'It seems that you already played this migration.'); $this->skipIf(false !== $downloadPictures, 'It seems that you already played this migration.');

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170501115751 extends WallabagMigration class Version20170501115751 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$this->skipIf($schema->hasTable($this->getTable('site_credential')), 'It seems that you already played this migration.'); $this->skipIf($schema->hasTable($this->getTable('site_credential')), 'It seems that you already played this migration.');
@ -31,7 +31,7 @@ class Version20170501115751 extends WallabagMigration
} }
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$schema->dropTable($this->getTable('site_credential')); $schema->dropTable($this->getTable('site_credential'));
} }

View file

@ -17,7 +17,7 @@ class Version20170510082609 extends WallabagMigration
'email_canonical', 'email_canonical',
]; ];
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL'); $this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
@ -26,7 +26,7 @@ class Version20170510082609 extends WallabagMigration
} }
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL'); $this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170511115400 extends WallabagMigration class Version20170511115400 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
@ -21,7 +21,7 @@ class Version20170511115400 extends WallabagMigration
]); ]);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));

View file

@ -11,7 +11,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170511211659 extends WallabagMigration class Version20170511211659 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
switch ($this->connection->getDatabasePlatform()->getName()) { switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite': case 'sqlite':
@ -62,7 +62,7 @@ EOD
} }
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$tableName = $this->getTable('annotation'); $tableName = $this->getTable('annotation');

View file

@ -10,19 +10,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170602075214 extends WallabagMigration class Version20170602075214 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$apiUserRegistration = $this->container $apiUserRegistration = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'api_user_registration'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'api_user_registration'");
$this->skipIf(false !== $apiUserRegistration, 'It seems that you already played this migration.'); $this->skipIf(false !== $apiUserRegistration, 'It seems that you already played this migration.');
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('api_user_registration', '0', 'api')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('api_user_registration', '0', 'api')");
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'api_user_registration';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'api_user_registration';");
} }

View file

@ -11,19 +11,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170606155640 extends WallabagMigration class Version20170606155640 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$apiUserRegistration = $this->container $apiUserRegistration = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'wallabag_url'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'wallabag_url'");
$this->skipIf(false === $apiUserRegistration, 'It seems that you already played this migration.'); $this->skipIf(false === $apiUserRegistration, 'It seems that you already played this migration.');
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'wallabag_url'"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'wallabag_url'");
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('wallabag_url', 'wallabag.me', 'misc')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('wallabag_url', 'wallabag.me', 'misc')");
} }

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170719231144 extends WallabagMigration class Version20170719231144 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.'); $this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
@ -21,13 +21,12 @@ class Version20170719231144 extends WallabagMigration
GROUP BY LOWER(label) GROUP BY LOWER(label)
HAVING COUNT(*) > 1' HAVING COUNT(*) > 1'
); );
$dupTags->execute();
foreach ($dupTags->fetchAll() as $duplicates) { foreach ($dupTags->fetchAllAssociative() as $duplicates) {
$label = $duplicates['lower_label']; $label = $duplicates['lower_label'];
// Retrieve all duplicate tags for a given tag // Retrieve all duplicate tags for a given tag
$tags = $this->connection->executeQuery(' $tags = $this->connection->query('
SELECT id SELECT id
FROM ' . $this->getTable('tag') . ' FROM ' . $this->getTable('tag') . '
WHERE LOWER(label) = :label WHERE LOWER(label) = :label
@ -41,7 +40,7 @@ class Version20170719231144 extends WallabagMigration
$newId = null; $newId = null;
$ids = []; $ids = [];
foreach ($tags->fetchAll() as $tag) { foreach ($tags->fetchAllAssociative() as $tag) {
// Ignore the first tag as we use it as the new reference tag // Ignore the first tag as we use it as the new reference tag
if ($first) { if ($first) {
$first = false; $first = false;
@ -86,7 +85,7 @@ class Version20170719231144 extends WallabagMigration
); );
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
throw new SkipMigrationException('Too complex ...'); throw new SkipMigrationException('Too complex ...');
} }

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20170824113337 extends WallabagMigration class Version20170824113337 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
@ -21,7 +21,7 @@ class Version20170824113337 extends WallabagMigration
]); ]);
} }
public function postUp(Schema $schema) public function postUp(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(!$entryTable->hasColumn('starred_at'), 'Unable to add starred_at colum'); $this->skipIf(!$entryTable->hasColumn('starred_at'), 'Unable to add starred_at colum');
@ -34,7 +34,7 @@ class Version20170824113337 extends WallabagMigration
); );
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20171008195606 extends WallabagMigration class Version20171008195606 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.'); $this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
@ -26,7 +26,7 @@ class Version20171008195606 extends WallabagMigration
} }
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.'); $this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20171105202000 extends WallabagMigration class Version20171105202000 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
@ -21,7 +21,7 @@ class Version20171105202000 extends WallabagMigration
]); ]);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));

View file

@ -10,19 +10,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20171120163128 extends WallabagMigration class Version20171120163128 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$storeArticleHeaders = $this->container $storeArticleHeaders = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'store_article_headers'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'store_article_headers'");
$this->skipIf(false !== $storeArticleHeaders, 'It seems that you already played this migration.'); $this->skipIf(false !== $storeArticleHeaders, 'It seems that you already played this migration.');
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('store_article_headers', '0', 'entry')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('store_article_headers', '0', 'entry')");
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'store_article_headers';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'store_article_headers';");
} }

View file

@ -10,19 +10,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20171125164500 extends WallabagMigration class Version20171125164500 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$shaarliShareOriginUrl = $this->container $shaarliShareOriginUrl = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'shaarli_share_origin_url'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'shaarli_share_origin_url'");
$this->skipIf(false !== $shaarliShareOriginUrl, 'It seems that you already played this migration.'); $this->skipIf(false !== $shaarliShareOriginUrl, 'It seems that you already played this migration.');
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('shaarli_share_origin_url', '0', 'entry')"); $this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('shaarli_share_origin_url', '0', 'entry')");
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'shaarli_share_origin_url';"); $this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'shaarli_share_origin_url';");
} }

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20180405182455 extends WallabagMigration class Version20180405182455 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
@ -21,7 +21,7 @@ class Version20180405182455 extends WallabagMigration
]); ]);
} }
public function postUp(Schema $schema) public function postUp(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(!$entryTable->hasColumn('archived_at'), 'Unable to add archived_at colum'); $this->skipIf(!$entryTable->hasColumn('archived_at'), 'Unable to add archived_at colum');
@ -34,7 +34,7 @@ class Version20180405182455 extends WallabagMigration
); );
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20181128203230 extends WallabagMigration class Version20181128203230 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration can only be applied on \'mysql\'.'); $this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration can only be applied on \'mysql\'.');
@ -25,7 +25,7 @@ class Version20181128203230 extends WallabagMigration
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' CHANGE `value` `value` varchar(191)'); $this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' CHANGE `value` `value` varchar(191)');
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration can only be applied on \'mysql\'.'); $this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration can only be applied on \'mysql\'.');

View file

@ -20,7 +20,7 @@ final class Version20181202073750 extends WallabagMigration
$this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('user', true) . ' AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication FROM ' . $this->getTable('user', true) . ''); $this->addSql('CREATE TEMPORARY TABLE __temp__' . $this->getTable('user', true) . ' AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication FROM ' . $this->getTable('user', true) . '');
$this->addSql('DROP TABLE ' . $this->getTable('user', true) . ''); $this->addSql('DROP TABLE ' . $this->getTable('user', true) . '');
$this->addSql('CREATE TABLE ' . $this->getTable('user', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, emailTwoFactor BOOLEAN NOT NULL, salt VARCHAR(255) DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL, roles CLOB NOT NULL --(DC2Type:array) $this->addSql('CREATE TABLE ' . $this->getTable('user', true) . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, emailTwoFactor BOOLEAN NOT NULL, salt VARCHAR(255) DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL, roles CLOB NOT NULL --(DC2Type:array)
, googleAuthenticatorSecret VARCHAR(255) DEFAULT NULL, backupCodes CLOB DEFAULT NULL --(DC2Type:json_array) , googleAuthenticatorSecret VARCHAR(255) DEFAULT NULL, backupCodes CLOB DEFAULT NULL --(DC2Type:json)
)'); )');
$this->addSql('INSERT INTO ' . $this->getTable('user', true) . ' (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, emailTwoFactor) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication FROM __temp__' . $this->getTable('user', true) . ''); $this->addSql('INSERT INTO ' . $this->getTable('user', true) . ' (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, emailTwoFactor) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication FROM __temp__' . $this->getTable('user', true) . '');
$this->addSql('DROP TABLE __temp__' . $this->getTable('user', true) . ''); $this->addSql('DROP TABLE __temp__' . $this->getTable('user', true) . '');
@ -32,7 +32,7 @@ final class Version20181202073750 extends WallabagMigration
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD googleAuthenticatorSecret VARCHAR(191) DEFAULT NULL'); $this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD googleAuthenticatorSecret VARCHAR(191) DEFAULT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE twoFactorAuthentication emailTwoFactor BOOLEAN NOT NULL'); $this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE twoFactorAuthentication emailTwoFactor BOOLEAN NOT NULL');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' DROP trusted'); $this->addSql('ALTER TABLE ' . $this->getTable('user') . ' DROP trusted');
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD backupCodes LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json_array)\''); $this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD backupCodes LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\'');
break; break;
case 'postgresql': case 'postgresql':
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD googleAuthenticatorSecret VARCHAR(191) DEFAULT NULL'); $this->addSql('ALTER TABLE ' . $this->getTable('user') . ' ADD googleAuthenticatorSecret VARCHAR(191) DEFAULT NULL');

View file

@ -118,13 +118,13 @@ final class Version20190129120000 extends WallabagMigration
], ],
]; ];
public function up(Schema $schema) public function up(Schema $schema): void
{ {
foreach ($this->settings as $setting) { foreach ($this->settings as $setting) {
$settingEnabled = $this->container $settingEnabled = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = '" . $setting['name'] . "'"); ->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = '" . $setting['name'] . "'");
if (false !== $settingEnabled) { if (false !== $settingEnabled) {
continue; continue;
@ -134,7 +134,7 @@ final class Version20190129120000 extends WallabagMigration
} }
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$this->skipIf(true, 'These settings are required and should not be removed.'); $this->skipIf(true, 'These settings are required and should not be removed.');
} }

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20190401105353 extends WallabagMigration class Version20190401105353 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
@ -24,7 +24,7 @@ class Version20190401105353 extends WallabagMigration
$entryTable->addIndex(['user_id', 'hashed_url'], 'hashed_url_user_id', [], ['lengths' => [null, 40]]); $entryTable->addIndex(['user_id', 'hashed_url'], 'hashed_url_user_id', [], ['lengths' => [null, 40]]);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));

View file

@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
*/ */
class Version20190601125843 extends WallabagMigration class Version20190601125843 extends WallabagMigration
{ {
public function up(Schema $schema) public function up(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));
@ -31,7 +31,7 @@ class Version20190601125843 extends WallabagMigration
$entryTable->addIndex(['user_id', 'hashed_given_url'], 'hashed_given_url_user_id', [], ['lengths' => [null, 40]]); $entryTable->addIndex(['user_id', 'hashed_given_url'], 'hashed_given_url_user_id', [], ['lengths' => [null, 40]]);
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
$entryTable = $schema->getTable($this->getTable('entry')); $entryTable = $schema->getTable($this->getTable('entry'));

View file

@ -48,7 +48,7 @@ final class Version20190826204730 extends WallabagMigration
$previous_rule = $this->container $previous_rule = $this->container
->get('doctrine.orm.default_entity_manager') ->get('doctrine.orm.default_entity_manager')
->getConnection() ->getConnection()
->fetchArray('SELECT * FROM ' . $this->getTable('ignore_origin_instance_rule') . " WHERE rule = '" . $entity['rule'] . "'"); ->fetchOne('SELECT * FROM ' . $this->getTable('ignore_origin_instance_rule') . " WHERE rule = '" . $entity['rule'] . "'");
if (false === $previous_rule) { if (false === $previous_rule) {
$this->addSql('INSERT INTO ' . $this->getTable('ignore_origin_instance_rule') . " (rule) VALUES ('" . $entity['rule'] . "');"); $this->addSql('INSERT INTO ' . $this->getTable('ignore_origin_instance_rule') . " (rule) VALUES ('" . $entity['rule'] . "');");

View file

@ -75,10 +75,14 @@ stof_doctrine_extensions:
sluggable: true sluggable: true
doctrine_migrations: doctrine_migrations:
dir_name: "%kernel.project_dir%/app/DoctrineMigrations" migrations_paths:
namespace: Application\Migrations 'Application\Migrations': "%kernel.project_dir%/app/DoctrineMigrations"
table_name: migration_versions storage:
name: Application Migrations table_storage:
table_name: 'migration_versions'
version_column_name: 'version'
version_column_length: 192
executed_at_column_name: 'executed_at'
fos_rest: fos_rest:
param_fetcher_listener: true param_fetcher_listener: true

View file

@ -56,19 +56,18 @@
"craue/config-bundle": "^2.3.0", "craue/config-bundle": "^2.3.0",
"defuse/php-encryption": "^2.1", "defuse/php-encryption": "^2.1",
"doctrine/collections": "^1.6", "doctrine/collections": "^1.6",
"doctrine/common": "^2.13", "doctrine/common": "^3.0",
"doctrine/dbal": "^2.13", "doctrine/dbal": "^3.3",
"doctrine/doctrine-bundle": "^1.9", "doctrine/doctrine-bundle": "^2.0",
"doctrine/doctrine-cache-bundle": "^1.3", "doctrine/doctrine-migrations-bundle": "^3.2",
"doctrine/doctrine-migrations-bundle": "^1.3",
"doctrine/event-manager": "^1.1", "doctrine/event-manager": "^1.1",
"doctrine/migrations": "^1.8", "doctrine/migrations": "^3.2",
"doctrine/orm": "^2.6", "doctrine/orm": "^2.6",
"doctrine/persistence": "^1.3", "doctrine/persistence": "^3.0",
"egulias/email-validator": "^3.2", "egulias/email-validator": "^3.2",
"enshrined/svg-sanitize": "^0.15.4", "enshrined/svg-sanitize": "^0.15.4",
"friendsofsymfony/jsrouting-bundle": "^2.2", "friendsofsymfony/jsrouting-bundle": "^2.2",
"friendsofsymfony/oauth-server-bundle": "^1.5", "friendsofsymfony/oauth-server-bundle": "dev-master#dc8ff343363cf794d30eb1a123610d186a43f162",
"friendsofsymfony/rest-bundle": "~3.4", "friendsofsymfony/rest-bundle": "~3.4",
"friendsofsymfony/user-bundle": "^3.1", "friendsofsymfony/user-bundle": "^3.1",
"guzzlehttp/guzzle": "^5.3.1", "guzzlehttp/guzzle": "^5.3.1",
@ -83,8 +82,8 @@
"kphoen/rulerz-bundle": "~0.13", "kphoen/rulerz-bundle": "~0.13",
"laminas/laminas-code": "^4.7", "laminas/laminas-code": "^4.7",
"laminas/laminas-diactoros": "^2.3", "laminas/laminas-diactoros": "^2.3",
"lcobucci/jwt": "~4.2.1", "lcobucci/jwt": "~4.1.5",
"lexik/form-filter-bundle": "^6.1.1", "lexik/form-filter-bundle": "^7.0",
"mgargano/simplehtmldom": "~1.5", "mgargano/simplehtmldom": "~1.5",
"mnapoli/piwik-twig-extension": "^3.0", "mnapoli/piwik-twig-extension": "^3.0",
"nelmio/api-doc-bundle": "^3.0", "nelmio/api-doc-bundle": "^3.0",
@ -127,7 +126,7 @@
"willdurand/hateoas-bundle": "~2.1" "willdurand/hateoas-bundle": "~2.1"
}, },
"require-dev": { "require-dev": {
"dama/doctrine-test-bundle": "^6.0", "dama/doctrine-test-bundle": "^7.1",
"doctrine/doctrine-fixtures-bundle": "~3.0", "doctrine/doctrine-fixtures-bundle": "~3.0",
"friendsofphp/php-cs-fixer": "~3.4", "friendsofphp/php-cs-fixer": "~3.4",
"friendsoftwig/twigcs": "^6.0", "friendsoftwig/twigcs": "^6.0",

923
composer.lock generated

File diff suppressed because it is too large Load diff

View file

@ -31,7 +31,7 @@
</whitelist> </whitelist>
</filter> </filter>
<listeners> <extensions>
<listener class="\DAMA\DoctrineTestBundle\PHPUnit\PHPUnitListener" /> <extension class="DAMA\DoctrineTestBundle\PHPUnit\PHPUnitExtension" />
</listeners> </extensions>
</phpunit> </phpunit>

View file

@ -139,7 +139,7 @@ class InstallCommand extends Command
// now check if MySQL isn't too old to handle utf8mb4 // now check if MySQL isn't too old to handle utf8mb4
if ($conn->isConnected() && 'mysql' === $conn->getDatabasePlatform()->getName()) { if ($conn->isConnected() && 'mysql' === $conn->getDatabasePlatform()->getName()) {
$version = $conn->query('select version()')->fetchColumn(); $version = $conn->query('select version()')->fetchOne();
$minimalVersion = '5.5.4'; $minimalVersion = '5.5.4';
if (false === version_compare($version, $minimalVersion, '>')) { if (false === version_compare($version, $minimalVersion, '>')) {
@ -152,7 +152,7 @@ class InstallCommand extends Command
// testing if PostgreSQL > 9.1 // testing if PostgreSQL > 9.1
if ($conn->isConnected() && 'postgresql' === $conn->getDatabasePlatform()->getName()) { if ($conn->isConnected() && 'postgresql' === $conn->getDatabasePlatform()->getName()) {
// return version should be like "PostgreSQL 9.5.4 on x86_64-apple-darwin15.6.0, compiled by Apple LLVM version 8.0.0 (clang-800.0.38), 64-bit" // return version should be like "PostgreSQL 9.5.4 on x86_64-apple-darwin15.6.0, compiled by Apple LLVM version 8.0.0 (clang-800.0.38), 64-bit"
$version = $conn->query('SELECT version();')->fetchColumn(); $version = $conn->query('SELECT version();')->fetchOne();
preg_match('/PostgreSQL ([0-9\.]+)/i', $version, $matches); preg_match('/PostgreSQL ([0-9\.]+)/i', $version, $matches);

View file

@ -17,11 +17,11 @@ abstract class WallabagMigration extends AbstractMigration implements ContainerA
protected $container; protected $container;
// because there are declared as abstract in `AbstractMigration` we need to delarer here too // because there are declared as abstract in `AbstractMigration` we need to delarer here too
public function up(Schema $schema) public function up(Schema $schema): void
{ {
} }
public function down(Schema $schema) public function down(Schema $schema): void
{ {
} }

View file

@ -128,7 +128,7 @@ class User extends BaseUser implements EmailTwoFactorInterface, GoogleTwoFactorI
private $googleAuthenticatorSecret; private $googleAuthenticatorSecret;
/** /**
* @ORM\Column(type="json_array", nullable=true) * @ORM\Column(type="json", nullable=true)
*/ */
private $backupCodes; private $backupCodes;

View file

@ -4,8 +4,8 @@ namespace Tests\Wallabag\CoreBundle\Command;
use DAMA\DoctrineTestBundle\Doctrine\DBAL\StaticDriver; use DAMA\DoctrineTestBundle\Doctrine\DBAL\StaticDriver;
use Doctrine\DBAL\Connection; use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Platforms\MySqlPlatform; use Doctrine\DBAL\Platforms\MySQLPlatform;
use Doctrine\DBAL\Platforms\PostgreSqlPlatform; use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
use Doctrine\DBAL\Platforms\SqlitePlatform; use Doctrine\DBAL\Platforms\SqlitePlatform;
use Doctrine\Persistence\ManagerRegistry; use Doctrine\Persistence\ManagerRegistry;
use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Bundle\FrameworkBundle\Console\Application;
@ -35,7 +35,7 @@ class InstallCommandTest extends WallabagCoreTestCase
/** @var Connection $connection */ /** @var Connection $connection */
$connection = $this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection(); $connection = $this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection();
if ($connection->getDatabasePlatform() instanceof PostgreSqlPlatform) { if ($connection->getDatabasePlatform() instanceof PostgreSQLPlatform) {
/* /*
* LOG: statement: CREATE DATABASE "wallabag" * LOG: statement: CREATE DATABASE "wallabag"
* ERROR: source database "template1" is being accessed by other users * ERROR: source database "template1" is being accessed by other users
@ -89,7 +89,11 @@ class InstallCommandTest extends WallabagCoreTestCase
/** @var InstallCommand $command */ /** @var InstallCommand $command */
$command = $application->find('wallabag:install'); $command = $application->find('wallabag:install');
$command->disableRunOtherCommands();
// enable calling other commands for MySQL only because rollback isn't supported
if (!$this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection()->getDatabasePlatform() instanceof MySQLPlatform) {
$command->disableRunOtherCommands();
}
$tester = new CommandTester($command); $tester = new CommandTester($command);
$tester->setInputs([ $tester->setInputs([
@ -109,6 +113,10 @@ class InstallCommandTest extends WallabagCoreTestCase
public function testRunInstallCommandWithReset() public function testRunInstallCommandWithReset()
{ {
if ($this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection()->getDatabasePlatform() instanceof MySQLPlatform) {
$this->markTestSkipped('Rollback are not properly handled for MySQL, skipping.');
}
$application = new Application($this->getTestClient()->getKernel()); $application = new Application($this->getTestClient()->getKernel());
/** @var InstallCommand $command */ /** @var InstallCommand $command */
@ -138,6 +146,10 @@ class InstallCommandTest extends WallabagCoreTestCase
public function testRunInstallCommandWithDatabaseRemoved() public function testRunInstallCommandWithDatabaseRemoved()
{ {
if ($this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection()->getDatabasePlatform() instanceof MySQLPlatform) {
$this->markTestSkipped('Rollback are not properly handled for MySQL, skipping.');
}
// skipped SQLite check when database is removed because while testing for the connection, // skipped SQLite check when database is removed because while testing for the connection,
// the driver will create the file (so the database) before testing if database exist // the driver will create the file (so the database) before testing if database exist
if ($this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection()->getDatabasePlatform() instanceof SqlitePlatform) { if ($this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection()->getDatabasePlatform() instanceof SqlitePlatform) {
@ -178,6 +190,10 @@ class InstallCommandTest extends WallabagCoreTestCase
public function testRunInstallCommandChooseResetSchema() public function testRunInstallCommandChooseResetSchema()
{ {
if ($this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection()->getDatabasePlatform() instanceof MySQLPlatform) {
$this->markTestSkipped('Rollback are not properly handled for MySQL, skipping.');
}
$application = new Application($this->getTestClient()->getKernel()); $application = new Application($this->getTestClient()->getKernel());
/** @var InstallCommand $command */ /** @var InstallCommand $command */
@ -208,7 +224,7 @@ class InstallCommandTest extends WallabagCoreTestCase
* *
* I don't know from where the "/tes_/" come from, it should be "/test/" instead ... * I don't know from where the "/tes_/" come from, it should be "/test/" instead ...
*/ */
if ($this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection()->getDatabasePlatform() instanceof MySqlPlatform) { if ($this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection()->getDatabasePlatform() instanceof MySQLPlatform) {
$this->markTestSkipped('That test is failing when using MySQL when clearing the cache (see code comment)'); $this->markTestSkipped('That test is failing when using MySQL when clearing the cache (see code comment)');
} }
@ -244,6 +260,10 @@ class InstallCommandTest extends WallabagCoreTestCase
public function testRunInstallCommandNoInteraction() public function testRunInstallCommandNoInteraction()
{ {
if ($this->getTestClient()->getContainer()->get(ManagerRegistry::class)->getConnection()->getDatabasePlatform() instanceof MySQLPlatform) {
$this->markTestSkipped('Rollback are not properly handled for MySQL, skipping.');
}
$application = new Application($this->getTestClient()->getKernel()); $application = new Application($this->getTestClient()->getKernel());
/** @var InstallCommand $command */ /** @var InstallCommand $command */

View file

@ -3,8 +3,8 @@
namespace Tests\Wallabag\CoreBundle\Event\Subscriber; namespace Tests\Wallabag\CoreBundle\Event\Subscriber;
use Doctrine\Common\EventManager; use Doctrine\Common\EventManager;
use Doctrine\DBAL\Platforms\MySqlPlatform; use Doctrine\DBAL\Platforms\MySQLPlatform;
use Doctrine\DBAL\Platforms\PostgreSqlPlatform; use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
use Doctrine\DBAL\Platforms\SqlitePlatform; use Doctrine\DBAL\Platforms\SqlitePlatform;
use Doctrine\ORM\EntityManager; use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Event\LoadClassMetadataEventArgs; use Doctrine\ORM\Event\LoadClassMetadataEventArgs;
@ -18,20 +18,20 @@ class TablePrefixSubscriberTest extends TestCase
public function dataForPrefix() public function dataForPrefix()
{ {
return [ return [
['wallabag_', User::class, '`user`', 'user', 'wallabag_user', '"wallabag_user"', new PostgreSqlPlatform()], ['wallabag_', User::class, '`user`', 'user', 'wallabag_user', '"wallabag_user"', new PostgreSQLPlatform()],
['wallabag_', User::class, '`user`', 'user', 'wallabag_user', '`wallabag_user`', new MySqlPlatform()], ['wallabag_', User::class, '`user`', 'user', 'wallabag_user', '`wallabag_user`', new MySQLPlatform()],
['wallabag_', User::class, '`user`', 'user', 'wallabag_user', '"wallabag_user"', new SqlitePlatform()], ['wallabag_', User::class, '`user`', 'user', 'wallabag_user', '"wallabag_user"', new SqlitePlatform()],
['wallabag_', User::class, 'user', 'user', 'wallabag_user', 'wallabag_user', new PostgreSqlPlatform()], ['wallabag_', User::class, 'user', 'user', 'wallabag_user', 'wallabag_user', new PostgreSQLPlatform()],
['wallabag_', User::class, 'user', 'user', 'wallabag_user', 'wallabag_user', new MySqlPlatform()], ['wallabag_', User::class, 'user', 'user', 'wallabag_user', 'wallabag_user', new MySQLPlatform()],
['wallabag_', User::class, 'user', 'user', 'wallabag_user', 'wallabag_user', new SqlitePlatform()], ['wallabag_', User::class, 'user', 'user', 'wallabag_user', 'wallabag_user', new SqlitePlatform()],
['', User::class, '`user`', 'user', 'user', '"user"', new PostgreSqlPlatform()], ['', User::class, '`user`', 'user', 'user', '"user"', new PostgreSQLPlatform()],
['', User::class, '`user`', 'user', 'user', '`user`', new MySqlPlatform()], ['', User::class, '`user`', 'user', 'user', '`user`', new MySQLPlatform()],
['', User::class, '`user`', 'user', 'user', '"user"', new SqlitePlatform()], ['', User::class, '`user`', 'user', 'user', '"user"', new SqlitePlatform()],
['', User::class, 'user', 'user', 'user', 'user', new PostgreSqlPlatform()], ['', User::class, 'user', 'user', 'user', 'user', new PostgreSQLPlatform()],
['', User::class, 'user', 'user', 'user', 'user', new MySqlPlatform()], ['', User::class, 'user', 'user', 'user', 'user', new MySQLPlatform()],
['', User::class, 'user', 'user', 'user', 'user', new SqlitePlatform()], ['', User::class, 'user', 'user', 'user', 'user', new SqlitePlatform()],
]; ];
} }
@ -115,6 +115,6 @@ class TablePrefixSubscriberTest extends TestCase
$this->assertSame('yo_entry', $metaDataEvent->getClassMetadata()->getTableName()); $this->assertSame('yo_entry', $metaDataEvent->getClassMetadata()->getTableName());
$this->assertSame('yo_entry_tag', $metaDataEvent->getClassMetadata()->associationMappings['tags']['joinTable']['name']); $this->assertSame('yo_entry_tag', $metaDataEvent->getClassMetadata()->associationMappings['tags']['joinTable']['name']);
$this->assertSame('yo_entry', $metaDataEvent->getClassMetadata()->getQuotedTableName(new MySqlPlatform())); $this->assertSame('yo_entry', $metaDataEvent->getClassMetadata()->getQuotedTableName(new MySQLPlatform()));
} }
} }