Skip to content

Commit f1a1f0e

Browse files
committed
wip
1 parent a5b8737 commit f1a1f0e

File tree

13 files changed

+80
-80
lines changed

13 files changed

+80
-80
lines changed

packages/database/src/Builder/QueryBuilders/CountQueryBuilder.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@
77
use Tempest\Database\Builder\ModelDefinition;
88
use Tempest\Database\Builder\TableDefinition;
99
use Tempest\Database\Exceptions\CannotCountDistinctWithoutSpecifyingAColumn;
10+
use Tempest\Database\OnDatabase;
1011
use Tempest\Database\Query;
1112
use Tempest\Database\QueryStatements\CountStatement;
1213
use Tempest\Database\QueryStatements\WhereStatement;
13-
use Tempest\Database\UsesDatabase;
1414
use Tempest\Support\Conditions\HasConditions;
1515

1616
/**
1717
* @template TModelClass of object
1818
*/
1919
final class CountQueryBuilder implements BuildsQuery
2020
{
21-
use HasConditions, UsesDatabase;
21+
use HasConditions, OnDatabase;
2222

2323
private ?ModelDefinition $modelDefinition;
2424

@@ -96,7 +96,7 @@ public function toSql(): string
9696

9797
public function build(mixed ...$bindings): Query
9898
{
99-
return new Query($this->count, [...$this->bindings, ...$bindings])->useDatabase($this->useDatabase);
99+
return new Query($this->count, [...$this->bindings, ...$bindings])->onDatabase($this->onDatabase);
100100
}
101101

102102
private function resolveTable(string|object $model): TableDefinition

packages/database/src/Builder/QueryBuilders/DeleteQueryBuilder.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
use Tempest\Database\Builder\ModelDefinition;
66
use Tempest\Database\Builder\TableDefinition;
7+
use Tempest\Database\OnDatabase;
78
use Tempest\Database\Query;
89
use Tempest\Database\QueryStatements\DeleteStatement;
910
use Tempest\Database\QueryStatements\WhereStatement;
10-
use Tempest\Database\UsesDatabase;
1111
use Tempest\Support\Conditions\HasConditions;
1212

1313
use function Tempest\Database\model;
@@ -17,7 +17,7 @@
1717
*/
1818
final class DeleteQueryBuilder implements BuildsQuery
1919
{
20-
use HasConditions, UsesDatabase;
20+
use HasConditions, OnDatabase;
2121

2222
private DeleteStatement $delete;
2323

@@ -69,6 +69,6 @@ public function toSql(): string
6969

7070
public function build(mixed ...$bindings): Query
7171
{
72-
return new Query($this->delete, [...$this->bindings, ...$bindings])->useDatabase($this->useDatabase);
72+
return new Query($this->delete, [...$this->bindings, ...$bindings])->onDatabase($this->onDatabase);
7373
}
7474
}

packages/database/src/Builder/QueryBuilders/InsertQueryBuilder.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
use Tempest\Database\Exceptions\CannotInsertHasManyRelation;
99
use Tempest\Database\Exceptions\CannotInsertHasOneRelation;
1010
use Tempest\Database\Id;
11+
use Tempest\Database\OnDatabase;
1112
use Tempest\Database\Query;
1213
use Tempest\Database\QueryStatements\InsertStatement;
13-
use Tempest\Database\UsesDatabase;
1414
use Tempest\Mapper\SerializerFactory;
1515
use Tempest\Reflection\ClassReflector;
1616
use Tempest\Support\Arr\ImmutableArray;
@@ -20,7 +20,7 @@
2020

2121
final class InsertQueryBuilder implements BuildsQuery
2222
{
23-
use HasConditions, UsesDatabase;
23+
use HasConditions, OnDatabase;
2424

2525
private InsertStatement $insert;
2626

@@ -74,7 +74,7 @@ public function build(mixed ...$bindings): Query
7474
$this->insert->addEntry($data);
7575
}
7676

77-
return new Query($this->insert, $bindings)->useDatabase($this->useDatabase);
77+
return new Query($this->insert, $bindings)->onDatabase($this->onDatabase);
7878
}
7979

8080
public function then(Closure ...$callbacks): self

packages/database/src/Builder/QueryBuilders/SelectQueryBuilder.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
use Tempest\Database\Builder\ModelInspector;
1010
use Tempest\Database\Id;
1111
use Tempest\Database\Mappers\SelectModelMapper;
12+
use Tempest\Database\OnDatabase;
1213
use Tempest\Database\Query;
1314
use Tempest\Database\QueryStatements\FieldStatement;
1415
use Tempest\Database\QueryStatements\JoinStatement;
1516
use Tempest\Database\QueryStatements\OrderByStatement;
1617
use Tempest\Database\QueryStatements\RawStatement;
1718
use Tempest\Database\QueryStatements\SelectStatement;
1819
use Tempest\Database\QueryStatements\WhereStatement;
19-
use Tempest\Database\UsesDatabase;
2020
use Tempest\Support\Arr\ImmutableArray;
2121
use Tempest\Support\Conditions\HasConditions;
2222
use UnitEnum;
@@ -29,7 +29,7 @@
2929
*/
3030
final class SelectQueryBuilder implements BuildsQuery
3131
{
32-
use HasConditions, UsesDatabase;
32+
use HasConditions, OnDatabase;
3333

3434
/** @var class-string<TModelClass> $modelClass */
3535
private readonly string $modelClass;
@@ -226,7 +226,7 @@ public function build(mixed ...$bindings): Query
226226
$this->select->join[] = $relation->getJoinStatement();
227227
}
228228

229-
return new Query($this->select, [...$this->bindings, ...$bindings])->useDatabase($this->useDatabase);
229+
return new Query($this->select, [...$this->bindings, ...$bindings])->onDatabase($this->onDatabase);
230230
}
231231

232232
private function clone(): self

packages/database/src/Builder/QueryBuilders/UpdateQueryBuilder.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
use Tempest\Database\Exceptions\CannotUpdateHasManyRelation;
66
use Tempest\Database\Exceptions\CannotUpdateHasOneRelation;
77
use Tempest\Database\Id;
8+
use Tempest\Database\OnDatabase;
89
use Tempest\Database\Query;
910
use Tempest\Database\QueryStatements\UpdateStatement;
1011
use Tempest\Database\QueryStatements\WhereStatement;
11-
use Tempest\Database\UsesDatabase;
1212
use Tempest\Mapper\SerializerFactory;
1313
use Tempest\Reflection\ClassReflector;
1414
use Tempest\Support\Arr\ImmutableArray;
@@ -19,7 +19,7 @@
1919

2020
final class UpdateQueryBuilder implements BuildsQuery
2121
{
22-
use HasConditions, UsesDatabase;
22+
use HasConditions, OnDatabase;
2323

2424
private UpdateStatement $update;
2525

@@ -88,7 +88,7 @@ public function build(mixed ...$bindings): Query
8888
$bindings[] = $binding;
8989
}
9090

91-
return new Query($this->update, $bindings)->useDatabase($this->useDatabase);
91+
return new Query($this->update, $bindings)->onDatabase($this->onDatabase);
9292
}
9393

9494
private function resolveValues(): ImmutableArray

packages/database/src/Migrations/MigrationManager.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,28 @@
1414
use Tempest\Database\Exceptions\QueryException;
1515
use Tempest\Database\HasLeadingStatements;
1616
use Tempest\Database\HasTrailingStatements;
17+
use Tempest\Database\OnDatabase;
1718
use Tempest\Database\Query;
1819
use Tempest\Database\QueryStatement;
1920
use Tempest\Database\QueryStatements\CompoundStatement;
2021
use Tempest\Database\QueryStatements\DropTableStatement;
2122
use Tempest\Database\QueryStatements\SetForeignKeyChecksStatement;
2223
use Tempest\Database\QueryStatements\ShowTablesStatement;
23-
use Tempest\Database\UsesDatabase;
2424
use Throwable;
2525

2626
use function Tempest\Database\query;
2727
use function Tempest\event;
2828

2929
final class MigrationManager
3030
{
31-
use UsesDatabase;
31+
use OnDatabase;
3232

3333
private Database $database {
34-
get => $this->container->get(Database::class, $this->useDatabase);
34+
get => $this->container->get(Database::class, $this->onDatabase);
3535
}
3636

3737
private DatabaseDialect $dialect {
38-
get => $this->container->get(DatabaseDialect::class, $this->useDatabase);
38+
get => $this->container->get(DatabaseDialect::class, $this->onDatabase);
3939
}
4040

4141
public function __construct(
@@ -46,11 +46,11 @@ public function __construct(
4646
public function up(): void
4747
{
4848
try {
49-
$existingMigrations = Migration::select()->useDatabase($this->useDatabase)->all();
49+
$existingMigrations = Migration::select()->onDatabase($this->onDatabase)->all();
5050
} catch (PDOException $pdoException) {
5151
if ($this->dialect->isTableNotFoundError($pdoException)) {
5252
$this->executeUp(new CreateMigrationsTable());
53-
$existingMigrations = Migration::select()->useDatabase($this->useDatabase)->all();
53+
$existingMigrations = Migration::select()->onDatabase($this->onDatabase)->all();
5454
} else {
5555
throw $pdoException;
5656
}
@@ -73,7 +73,7 @@ public function up(): void
7373
public function down(): void
7474
{
7575
try {
76-
$existingMigrations = Migration::select()->useDatabase($this->useDatabase)->all();
76+
$existingMigrations = Migration::select()->onDatabase($this->onDatabase)->all();
7777
} catch (PDOException $pdoException) {
7878
if (! $this->dialect->isTableNotFoundError($pdoException)) {
7979
throw $pdoException;
@@ -129,7 +129,7 @@ public function rehashAll(): void
129129
{
130130
try {
131131
$existingMigrations = Migration::select()
132-
->useDatabase($this->useDatabase)
132+
->onDatabase($this->onDatabase)
133133
->all();
134134
} catch (PDOException) {
135135
return;
@@ -161,7 +161,7 @@ public function rehashAll(): void
161161
public function validate(): void
162162
{
163163
try {
164-
$existingMigrations = Migration::select()->useDatabase($this->useDatabase)->all();
164+
$existingMigrations = Migration::select()->onDatabase($this->onDatabase)->all();
165165
} catch (PDOException) {
166166
return;
167167
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace Tempest\Database;
4+
5+
use UnitEnum;
6+
7+
trait OnDatabase
8+
{
9+
private null|string|UnitEnum $onDatabase = null;
10+
11+
public function onDatabase(null|string|UnitEnum $databaseTag): self
12+
{
13+
$clone = clone $this;
14+
15+
$clone->onDatabase = $databaseTag;
16+
17+
return $clone;
18+
}
19+
}

packages/database/src/Query.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010

1111
final class Query
1212
{
13-
use UsesDatabase;
13+
use OnDatabase;
1414

1515
private Database $database {
16-
get => get(Database::class, $this->useDatabase);
16+
get => get(Database::class, $this->onDatabase);
1717
}
1818

1919
private DatabaseDialect $dialect {
20-
get => get(DatabaseDialect::class, $this->useDatabase);
20+
get => get(DatabaseDialect::class, $this->onDatabase);
2121
}
2222

2323
public function __construct(

packages/database/src/UsesDatabase.php

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/Tempest/Framework/Commands/MigrateDownCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public function __invoke(
3333
#[ConsoleArgument(description: 'Use a specific database.')]
3434
?string $database = null,
3535
): void {
36-
$this->migrationManager->useDatabase($database)->down();
36+
$this->migrationManager->onDatabase($database)->down();
3737

3838
$this->console->success(sprintf('Rolled back %s migrations', $this->count));
3939
}

0 commit comments

Comments
 (0)