diff --git a/src/Bootstrappers/DatabaseTenancyBootstrapper.php b/src/Bootstrappers/DatabaseTenancyBootstrapper.php index 479b8f34..de5ee798 100644 --- a/src/Bootstrappers/DatabaseTenancyBootstrapper.php +++ b/src/Bootstrappers/DatabaseTenancyBootstrapper.php @@ -7,7 +7,7 @@ namespace Stancl\Tenancy\Bootstrappers; use Stancl\Tenancy\Contracts\TenancyBootstrapper; use Stancl\Tenancy\Contracts\Tenant; use Stancl\Tenancy\Contracts\TenantWithDatabase; -use Stancl\Tenancy\DatabaseManager; +use Stancl\Tenancy\Database\DatabaseManager; use Stancl\Tenancy\Exceptions\TenantDatabaseDoesNotExistException; class DatabaseTenancyBootstrapper implements TenancyBootstrapper diff --git a/src/Commands/Migrate.php b/src/Commands/Migrate.php index 69e787fd..4f5a19c6 100644 --- a/src/Commands/Migrate.php +++ b/src/Commands/Migrate.php @@ -4,12 +4,10 @@ declare(strict_types=1); namespace Stancl\Tenancy\Commands; -use Illuminate\Console\Command; use Illuminate\Database\Console\Migrations\MigrateCommand; use Illuminate\Database\Migrations\Migrator; use Stancl\Tenancy\Concerns\DealsWithMigrations; use Stancl\Tenancy\Concerns\HasATenantsOption; -use Stancl\Tenancy\DatabaseManager; use Stancl\Tenancy\Events\DatabaseMigrated; use Stancl\Tenancy\Events\MigratingDatabase; @@ -17,8 +15,6 @@ class Migrate extends MigrateCommand { use HasATenantsOption, DealsWithMigrations; - protected $database; - /** * The console command description. * @@ -31,10 +27,9 @@ class Migrate extends MigrateCommand * * @return void */ - public function __construct(Migrator $migrator, DatabaseManager $database) + public function __construct(Migrator $migrator) { parent::__construct($migrator); - $this->database = $database; $this->setName('tenants:migrate'); $this->specifyParameters(); diff --git a/src/Commands/Rollback.php b/src/Commands/Rollback.php index 3086466e..ec9cc461 100644 --- a/src/Commands/Rollback.php +++ b/src/Commands/Rollback.php @@ -4,12 +4,10 @@ declare(strict_types=1); namespace Stancl\Tenancy\Commands; -use Illuminate\Console\Command; use Illuminate\Database\Console\Migrations\RollbackCommand; use Illuminate\Database\Migrations\Migrator; use Stancl\Tenancy\Concerns\DealsWithMigrations; use Stancl\Tenancy\Concerns\HasATenantsOption; -use Stancl\Tenancy\DatabaseManager; use Stancl\Tenancy\Events\DatabaseRolledBack; use Stancl\Tenancy\Events\RollingBackDatabase; @@ -17,8 +15,6 @@ class Rollback extends RollbackCommand { use HasATenantsOption, DealsWithMigrations; - protected $database; - /** * The console command description. * @@ -31,10 +27,9 @@ class Rollback extends RollbackCommand * * @return void */ - public function __construct(Migrator $migrator, DatabaseManager $database) + public function __construct(Migrator $migrator) { parent::__construct($migrator); - $this->database = $database; $this->setName('tenants:rollback'); $this->specifyParameters(); diff --git a/src/Commands/Seed.php b/src/Commands/Seed.php index 5482a8dd..17ae774e 100644 --- a/src/Commands/Seed.php +++ b/src/Commands/Seed.php @@ -7,7 +7,6 @@ namespace Stancl\Tenancy\Commands; use Illuminate\Database\ConnectionResolverInterface; use Illuminate\Database\Console\Seeds\SeedCommand; use Stancl\Tenancy\Concerns\HasATenantsOption; -use Stancl\Tenancy\DatabaseManager; use Stancl\Tenancy\Events\DatabaseSeeded; use Stancl\Tenancy\Events\SeedingDatabase; @@ -15,8 +14,6 @@ class Seed extends SeedCommand { use HasATenantsOption; - protected $database; - /** * The console command description. * @@ -29,10 +26,9 @@ class Seed extends SeedCommand * * @return void */ - public function __construct(ConnectionResolverInterface $resolver, DatabaseManager $database) + public function __construct(ConnectionResolverInterface $resolver) { parent::__construct($resolver); - $this->database = $database; $this->setName('tenants:seed'); $this->specifyParameters(); diff --git a/src/Database/Concerns/GeneratesIds.php b/src/Database/Concerns/GeneratesIds.php index fe0e2ec9..4779c237 100644 --- a/src/Database/Concerns/GeneratesIds.php +++ b/src/Database/Concerns/GeneratesIds.php @@ -19,11 +19,11 @@ trait GeneratesIds public function getIncrementing() { - return ! $this->shouldGenerateId(); + return ! app()->bound(UniqueIdentifierGenerator::class); } public function shouldGenerateId(): bool { - return app()->bound(UniqueIdentifierGenerator::class); + return ! $this->getIncrementing(); } } diff --git a/src/DatabaseManager.php b/src/Database/DatabaseManager.php similarity index 98% rename from src/DatabaseManager.php rename to src/Database/DatabaseManager.php index ecb5a59b..f1672e3e 100644 --- a/src/DatabaseManager.php +++ b/src/Database/DatabaseManager.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Stancl\Tenancy; +namespace Stancl\Tenancy\Database; use Illuminate\Config\Repository; use Illuminate\Database\DatabaseManager as BaseDatabaseManager; diff --git a/src/Jobs/CreateDatabase.php b/src/Jobs/CreateDatabase.php index b02f767e..6546a969 100644 --- a/src/Jobs/CreateDatabase.php +++ b/src/Jobs/CreateDatabase.php @@ -12,7 +12,7 @@ use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Stancl\Tenancy\Contracts\Tenant; use Stancl\Tenancy\Contracts\TenantWithDatabase; -use Stancl\Tenancy\DatabaseManager; +use Stancl\Tenancy\Database\DatabaseManager; use Stancl\Tenancy\Events\CreatingDatabase; use Stancl\Tenancy\Events\DatabaseCreated; diff --git a/src/TenancyServiceProvider.php b/src/TenancyServiceProvider.php index dd1350c9..c7d0a322 100644 --- a/src/TenancyServiceProvider.php +++ b/src/TenancyServiceProvider.php @@ -20,7 +20,7 @@ class TenancyServiceProvider extends ServiceProvider { $this->mergeConfigFrom(__DIR__ . '/../assets/config.php', 'tenancy'); - $this->app->singleton(DatabaseManager::class); + $this->app->singleton(Database\DatabaseManager::class); // Make sure Tenancy is stateful. $this->app->singleton(Tenancy::class); @@ -48,13 +48,13 @@ class TenancyServiceProvider extends ServiceProvider $this->app->bind(Contracts\UniqueIdentifierGenerator::class, $this->app['config']['tenancy.id_generator']); $this->app->singleton(Commands\Migrate::class, function ($app) { - return new Commands\Migrate($app['migrator'], $app[DatabaseManager::class]); + return new Commands\Migrate($app['migrator']); }); $this->app->singleton(Commands\Rollback::class, function ($app) { - return new Commands\Rollback($app['migrator'], $app[DatabaseManager::class]); + return new Commands\Rollback($app['migrator']); }); $this->app->singleton(Commands\Seed::class, function ($app) { - return new Commands\Seed($app['db'], $app[DatabaseManager::class]); + return new Commands\Seed($app['db']); }); $this->app->bind('globalCache', function ($app) { diff --git a/tests/TenantDatabaseManagerTest.php b/tests/TenantDatabaseManagerTest.php index 5bf139d4..f3f99335 100644 --- a/tests/TenantDatabaseManagerTest.php +++ b/tests/TenantDatabaseManagerTest.php @@ -9,7 +9,7 @@ use Illuminate\Support\Str; use PDO; use Stancl\JobPipeline\JobPipeline; use Stancl\Tenancy\Bootstrappers\DatabaseTenancyBootstrapper; -use Stancl\Tenancy\DatabaseManager; +use Stancl\Tenancy\Database\DatabaseManager; use Stancl\Tenancy\Events\TenancyInitialized; use Stancl\Tenancy\Events\TenantCreated; use Stancl\Tenancy\Exceptions\TenantDatabaseAlreadyExistsException;