• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tito10047 / migration-backup / 22962457449

11 Mar 2026 03:19PM UTC coverage: 66.667%. Remained the same
22962457449

push

github

web-flow
Merge pull request #1 from tito10047/v2

Create brand new version

108 of 165 new or added lines in 14 files covered. (65.45%)

3 existing lines in 2 files now uncovered.

120 of 180 relevant lines covered (66.67%)

28.58 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

97.73
/src/MigrationBackupBundle.php
1
<?php
2

3
namespace Tito10047\MigrationBackup;
4

5
use Symfony\Component\Config\Definition\Configurator\DefinitionConfigurator;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
8
use Symfony\Component\Filesystem\Filesystem;
9
use Symfony\Component\HttpKernel\Bundle\AbstractBundle;
10
use Tito10047\MigrationBackup\BackupManager;
11
use Tito10047\MigrationBackup\Driver\MysqlBackupDriver;
12
use Tito10047\MigrationBackup\Driver\PostgresBackupDriver;
13
use Tito10047\MigrationBackup\Driver\SqliteBackupDriver;
14
use Tito10047\MigrationBackup\EventSubscriber\CommandSubscriber;
15
use Tito10047\MigrationBackup\Registry\BackupDriverRegistry;
16
use Tito10047\MigrationBackup\Registry\BackupDriverRegistryInterface;
17
use Tito10047\MigrationBackup\Resolver\ConnectionResolver;
18
use Tito10047\MigrationBackup\Resolver\ConnectionResolverInterface;
19
use Tito10047\MigrationBackup\Storage\LocalStorageProvider;
20
use Tito10047\MigrationBackup\Storage\StorageProviderInterface;
21
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
22
use function Symfony\Component\DependencyInjection\Loader\Configurator\tagged_iterator;
23

24
/**
25
 * @link https://symfony.com/doc/current/bundles/best_practices.html
26
 */
27
class MigrationBackupBundle extends AbstractBundle {
28
        public function configure(DefinitionConfigurator $definition): void {
29
                $definition->import('../config/definition.php');
21✔
30
        }
31

32
        public function loadExtension(array $config, ContainerConfigurator $container, ContainerBuilder $builder): void {
33
                $services = $container->services();
21✔
34

35
                $services->set(Filesystem::class);
21✔
36

37
                $services->set(ConnectionResolverInterface::class, ConnectionResolver::class)
21✔
38
                        ->args([service("doctrine")]);
21✔
39

40
                $services->set(BackupDriverRegistryInterface::class, BackupDriverRegistry::class)
21✔
41
                        ->args([tagged_iterator("migration_backup.driver")]);
21✔
42

43
                $services->set(StorageProviderInterface::class, LocalStorageProvider::class)
21✔
44
                        ->args([
21✔
45
                                service(Filesystem::class),
21✔
46
                                $config["backup_path"],
21✔
47
                        ]);
21✔
48

49
                $services->set(BackupManager::class)
21✔
50
                        ->args([
21✔
51
                                service(ConnectionResolverInterface::class),
21✔
52
                                service(BackupDriverRegistryInterface::class),
21✔
53
                                service(StorageProviderInterface::class),
21✔
54
                                service("event_dispatcher"),
21✔
55
                                service(Filesystem::class),
21✔
56
                                $config["keep_last_n_backups"],
21✔
57
                                $config["compress"],
21✔
58
                        ]);
21✔
59

60
                $services->set(MysqlBackupDriver::class)
21✔
61
                        ->tag("migration_backup.driver")
21✔
62
                        ->args([
21✔
63
                                service(Filesystem::class),
21✔
64
                                $config["backup_binary"],
21✔
65
                        ]);
21✔
66

67
                $services->set(PostgresBackupDriver::class)
21✔
68
                        ->tag("migration_backup.driver")
21✔
69
                        ->args([
21✔
70
                                service(Filesystem::class),
21✔
71
                                $config["pg_dump_binary"],
21✔
72
                        ]);
21✔
73

74
                $services->set(SqliteBackupDriver::class)
21✔
75
                        ->tag("migration_backup.driver")
21✔
76
                        ->args([service(Filesystem::class)]);
21✔
77

78
                $services->set(CommandSubscriber::class)
21✔
79
                        ->tag("kernel.event_subscriber")
21✔
80
                        ->args([
21✔
81
                                service(BackupManager::class),
21✔
82
                                $config["database"],
21✔
83
                        ]);
21✔
84
        }
85

86
        public function getAlias(): string {
UNCOV
87
                return "migration_backup";
×
88
        }
89

90

91
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc