Skip to content

Commit d4daeb1

Browse files
committed
update changes to ORM 3 & depends
1 parent f75c551 commit d4daeb1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+440
-212
lines changed

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,16 @@ Read the: **[Coding Standard](CODING_STANDARD.md)**
5454

5555
Read the: **[Contribute](CONTRIBUTING.md)**
5656

57+
## VERSION
58+
59+
- Previous Version: `1.0.0`
60+
- Change:
61+
- Initial Release with Doctrine ORM version `2`
62+
- Current Version: `2.0.0`
63+
- Change::wq
64+
- Update Doctrine ORM to 3.0
65+
- Update Compatibility
66+
5767
## Available Modules
5868

5969
- Core Module [https://github.com/ArrayAccess/TrayDigita-Core-Module](https://github.com/ArrayAccess/TrayDigita-Core-Module)

composer.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "arrayaccess/traydigita",
33
"description": "Tray Digita System",
4+
"version": "2.0.0",
45
"type": "project",
56
"license": "MIT",
67
"authors": [
@@ -18,13 +19,13 @@
1819
"ext-openssl": "*",
1920
"ext-pdo_mysql": "*",
2021
"ext-fileinfo": "*",
21-
"doctrine/orm": "~2",
22+
"doctrine/orm": "~3",
2223
"doctrine/sql-formatter": "^1.4",
2324
"dragonmantank/cron-expression": "^3.3",
2425
"endroid/qr-code": "^5.0",
2526
"league/iso3166": "^4.3",
26-
"monolog/monolog": "^3.7",
27-
"nelexa/zip": "^4.0",
27+
"monolog/monolog": "^3.7.0",
28+
"nelexa/zip": "^4.0.2",
2829
"nikic/php-parser": "~4",
2930
"predis/predis": "~2",
3031
"psr/http-message": "~2",
@@ -60,11 +61,10 @@
6061
"arrayaccess/dns-client" : "Allows you to resolve dns client faster & timedout support based on object oriented"
6162
},
6263
"conflict": {
63-
"doctrine/migrations" : "< 3"
6464
},
6565
"require-dev": {
66-
"squizlabs/php_codesniffer": "3.7.2",
67-
"slevomat/coding-standard": "^8.14"
66+
"squizlabs/php_codesniffer": "^3.10.1",
67+
"slevomat/coding-standard": "^8.15.0"
6868
},
6969
"scripts": {
7070
"post-create-project-cmd": [

src/Benchmark/Middlewares/DebuggingMiddleware.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ private function renderDebugBar($response) : mixed
155155

156156
// get origin performance
157157
$performanceOrigin = microtime(true) - $startTime;
158-
$memoryOrigin = Consolidation::sizeFormat(memory_get_usage(), 3);
158+
$memoryOrigin = Consolidation::sizeFormat(memory_get_usage());
159159

160160
// start
161161
$body = (string) $response->getBody();
@@ -216,7 +216,7 @@ static function ($match) use ($waterfall, $darkMode) {
216216
$this->translateContext('rendered time', 'benchmark'),
217217
$profiler->convertMicrotime($performanceEnd),
218218
$this->translateContext('memory usage', 'benchmark'),
219-
Consolidation::sizeFormat(memory_get_usage(), 3),
219+
Consolidation::sizeFormat(memory_get_usage()),
220220
)
221221
)
222222
);
@@ -270,9 +270,9 @@ private function printPerformance(ResponseInterface $response): ResponseInterfac
270270
4
271271
),
272272
$this->translateContext('peak memory usage', 'benchmark'),
273-
Consolidation::sizeFormat(memory_get_peak_usage(), 3),
273+
Consolidation::sizeFormat(memory_get_peak_usage()),
274274
$this->translateContext('memory usage', 'benchmark'),
275-
Consolidation::sizeFormat(memory_get_usage(), 3)
275+
Consolidation::sizeFormat(memory_get_usage())
276276
)
277277
);
278278
$response->getBody()->write($str);
@@ -315,8 +315,8 @@ private function printJsonPerformance($data)
315315
(microtime(true) * 1000 - $startTime * 1000),
316316
4
317317
),
318-
'peak_memory' => Consolidation::sizeFormat(memory_get_peak_usage(), 3),
319-
'used_memory' => Consolidation::sizeFormat(memory_get_usage(), 3)
318+
'peak_memory' => Consolidation::sizeFormat(memory_get_peak_usage()),
319+
'used_memory' => Consolidation::sizeFormat(memory_get_usage())
320320
];
321321
return $data;
322322
}

src/Benchmark/Waterfall.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,10 @@ private function closeTag(string $tag = 'div') : string
207207
*/
208208
public function createHtmlStructure(bool $showEmpty = false) : string
209209
{
210-
$microtimeStart = $_SERVER['REQUEST_TIME_FLOAT']
210+
$microTimeStart = $_SERVER['REQUEST_TIME_FLOAT']
211211
??$this->getProfiler()->getStartTime();
212212
$firstRender = $this->getProfiler()->convertMicrotime(
213-
microtime(true) - $microtimeStart
213+
microtime(true) - $microTimeStart
214214
);
215215

216216
$memory_get_usage = memory_get_usage();

src/Cache/Cache.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
<?php
2-
/**
3-
* @noinspection PhpUndefinedClassInspection
4-
* @noinspection PhpComposerExtensionStubsInspection
5-
*/
2+
/** @noinspection PhpComposerExtensionStubsInspection */
63
declare(strict_types=1);
74

85
namespace ArrayAccess\TrayDigita\Cache;

src/Console/Command/ApplicationChecker/DatabaseChecker.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public function check(InputInterface $input, OutputInterface $output) : int
5858
$config = $database->getDatabaseConfig();
5959
$ormConfig = $database->getEntityManager()->getConfiguration();
6060
$platform = $database->getDatabasePlatform()::class;
61-
$database->connect();
61+
$database->getServerVersion();
6262
} catch (DriverException $e) {
6363
$error = $e;
6464
$driverException = $e;

src/Console/Command/DatabaseChecker.php

Lines changed: 49 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ public function databaseSchemaDetect(InputInterface $input, OutputInterface $out
334334
$tablesMeta = [];
335335
$inQuestionMark = [];
336336
foreach ($currentSchema->getTables() as $tableCurrent) {
337-
if (!$schemaManager->tablesExist($tableCurrent->getName())) {
337+
if (!$schemaManager->tablesExist([$tableCurrent->getName()])) {
338338
continue;
339339
}
340340
$tablesMeta[] = $schemaManager
@@ -424,7 +424,7 @@ public function databaseSchemaDetect(InputInterface $input, OutputInterface $out
424424
$containOptimize = false;
425425
foreach ($allMetadata as $meta) {
426426
$tableName = $meta->getTableName();
427-
$table = $schemaManager->tablesExist($tableName)
427+
$table = $schemaManager->tablesExist([$tableName])
428428
? $schemaManager->introspectTable($tableName)
429429
: null;
430430
if (!$table) {
@@ -461,7 +461,7 @@ public function databaseSchemaDetect(InputInterface $input, OutputInterface $out
461461
}
462462
$currentTable = $currentSchema->getTable($meta->getTableName());
463463
$tableDiff = $comparator->compareTables($table, $currentTable);
464-
$this->compareSchemaTableFix($table, $currentTable, $tableDiff);
464+
$tableDiff = $this->compareSchemaTableFix($table, $currentTable, $tableDiff);
465465
$isNeedOptimize = ($optimizeArray[strtolower($currentTable->getName())] ?? 0) > 0;
466466
if ($isNeedOptimize) {
467467
$containOptimize = true;
@@ -1580,7 +1580,7 @@ private function doDatabaseCheck(
15801580
$config = $database->getDatabaseConfig();
15811581
$ormConfig = $database->getEntityManager()->getConfiguration();
15821582
// $platform = $database->getDatabasePlatform()::class;
1583-
$database->connect();
1583+
$database->getServerVersion();
15841584
} catch (DriverException $e) {
15851585
$error = $e;
15861586
$driverException = $e;
@@ -1835,7 +1835,7 @@ protected function doCheckData(
18351835
$tablesMeta = [];
18361836
$inQuestionMark = [];
18371837
foreach ($currentSchema->getTables() as $tableCurrent) {
1838-
if (!$schema->tablesExist($tableCurrent->getName())) {
1838+
if (!$schema->tablesExist([$tableCurrent->getName()])) {
18391839
continue;
18401840
}
18411841
$tablesMeta[] = $tableCurrent->getName();
@@ -1892,23 +1892,23 @@ protected function doCheckData(
18921892
$tableDb = $schema->introspectTable($meta->getTableName());
18931893
$tableDiff = $comparator->compareTables($tableDb, $currentTable);
18941894
$this->compareSchemaTableFix($tableDb, $currentTable, $tableDiff);
1895-
if (!empty($tableDiff->changedColumns)
1896-
|| !empty($tableDiff->renamedColumns)
1897-
|| !empty($tableDiff->removedColumns)
1898-
|| !empty($tableDiff->addedColumns)
1895+
if (!empty($tableDiff->getModifiedColumns())
1896+
|| !empty($tableDiff->getRenamedColumns())
1897+
|| !empty($tableDiff->getDroppedColumns())
1898+
|| !empty($tableDiff->getAddedColumns())
18991899
) {
19001900
$changed[] = 'columns';
19011901
}
1902-
if (!empty($tableDiff->changedIndexes)
1903-
|| !empty($tableDiff->renamedIndexes)
1904-
|| !empty($tableDiff->removedIndexes)
1905-
|| !empty($tableDiff->addedIndexes)
1902+
if (!empty($tableDiff->getModifiedIndexes())
1903+
|| !empty($tableDiff->getRenamedIndexes())
1904+
|| !empty($tableDiff->getDroppedIndexes())
1905+
|| !empty($tableDiff->getAddedIndexes())
19061906
) {
19071907
$changed[] = 'indexes';
19081908
}
1909-
if (!empty($tableDiff->changedForeignKeys)
1910-
|| !empty($tableDiff->removedForeignKeys)
1911-
|| !empty($tableDiff->addedForeignKeys)
1909+
if (!empty($tableDiff->getModifiedForeignKeys())
1910+
|| !empty($tableDiff->getDroppedForeignKeys())
1911+
|| !empty($tableDiff->getAddedForeignKeys())
19121912
) {
19131913
$changed[] = 'foreignKeys';
19141914
}
@@ -2001,8 +2001,12 @@ protected function doCheckData(
20012001
}
20022002
}
20032003

2004-
private function compareSchemaTableFix(Table $realTable, Table $currentTable, TableDiff $diff): void
2004+
private function compareSchemaTableFix(Table $realTable, Table $currentTable, TableDiff $diff): TableDiff
20052005
{
2006+
if (count($currentTable->getForeignKeys()) === 0) {
2007+
return $diff;
2008+
}
2009+
$meta = [];
20062010
foreach ($currentTable->getForeignKeys() as $foreignKey) {
20072011
if (!$foreignKey->hasOption('oldName')) {
20082012
continue;
@@ -2019,16 +2023,39 @@ private function compareSchemaTableFix(Table $realTable, Table $currentTable, Ta
20192023
continue;
20202024
}
20212025
$name = $foreignKey->getName();
2022-
if (!isset($diff->renamedIndexes[$oldName])) {
2026+
if (!isset($diff->getRenamedIndexes()[$oldName])) {
20232027
continue;
20242028
}
20252029

2026-
$data = $diff->renamedIndexes[$oldName];
2027-
unset($diff->renamedIndexes[$oldName]);
2028-
if (!isset($diff->addedIndexes[$name]) && !$realTable->hasIndex($name)) {
2029-
$diff->addedIndexes[$name] = $data;
2030+
$data = $diff->getRenamedIndexes()[$oldName];
2031+
if (!isset($meta['renamedIndexes'])) {
2032+
$meta['renamedIndexes'] = $diff->getRenamedIndexes();
2033+
}
2034+
$meta['renamedIndexes'][$oldName] = $data;
2035+
if (!isset($diff->getAddedIndexes()[$name]) && !$realTable->hasIndex($name)) {
2036+
if (!isset($meta['addedIndexes'])) {
2037+
$meta['addedIndexes'] = $diff->getAddedIndexes();
2038+
}
2039+
$meta['addedIndexes'][$name] = $data;
20302040
}
20312041
}
2042+
if (empty($meta)) {
2043+
return $diff;
2044+
}
2045+
return new TableDiff(
2046+
$diff->getOldTable(),
2047+
$diff->getAddedColumns(),
2048+
$diff->getModifiedColumns(),
2049+
$diff->getDroppedColumns(),
2050+
$diff->getRenamedColumns(),
2051+
$meta['addedIndexes']??$diff->getAddedIndexes(),
2052+
$diff->getModifiedIndexes(),
2053+
$diff->getDroppedIndexes(),
2054+
$meta['renamedIndexes']??$diff->getRenamedIndexes(),
2055+
$diff->getAddedForeignKeys(),
2056+
$diff->getModifiedForeignKeys(),
2057+
$diff->getDroppedForeignKeys()
2058+
);
20322059
}
20332060

20342061
private function compareSchemaFix(Schema $currentSchema, Schema $realSchema, SchemaDiff $diff): void

src/Container/ContainerWrapper.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,6 @@ public function offsetExists(mixed $offset): bool
206206
* @throws \Psr\Container\NotFoundExceptionInterface
207207
* @throws Throwable
208208
* @noinspection PhpFullyQualifiedNameUsageInspection
209-
* @noinspection PhpUnnecessaryFullyQualifiedNameInspection
210209
*/
211210
public function offsetGet(mixed $offset): mixed
212211
{

src/Database/Connection.php

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
use Doctrine\DBAL\Connection as DoctrineConnection;
2323
use Doctrine\DBAL\Driver;
2424
use Doctrine\DBAL\Platforms\AbstractMySQLPlatform;
25-
use Doctrine\DBAL\Schema\LegacySchemaManagerFactory;
25+
use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory;
26+
use Doctrine\DBAL\ServerVersionProvider;
2627
use Doctrine\ORM\Configuration as OrmConfiguration;
2728
use Doctrine\ORM\EntityManagerInterface;
2829
use Doctrine\ORM\Mapping\Driver\AttributeDriver;
@@ -48,7 +49,7 @@
4849
/**
4950
* @mixin DoctrineConnection
5051
*/
51-
class Connection implements ContainerIndicateInterface, ManagerAllocatorInterface
52+
class Connection implements ContainerIndicateInterface, ManagerAllocatorInterface, ServerVersionProvider
5253
{
5354
use ManagerDispatcherTrait,
5455
ManagerAllocatorTrait;
@@ -64,9 +65,9 @@ class Connection implements ContainerIndicateInterface, ManagerAllocatorInterfac
6465
private OrmConfiguration|Configuration $defaultConfiguration;
6566

6667
/**
67-
* @var EventManager|null $eventManager The event manager
68+
* @var EventManager|null $doctrineEventManager The doctrine event manager
6869
*/
69-
private ?EventManager $eventManager;
70+
private ?EventManager $doctrineEventManager;
7071

7172
/**
7273
* @var EntityManagerInterface|null $entityManager The entity manager
@@ -102,14 +103,22 @@ public function __construct(
102103
// register type
103104
TypeList::registerDefaultTypes();
104105
$this->config ??= ContainerHelper::use(Config::class, $this->container)??new Config();
105-
$this->eventManager = $eventManager??new EventManager();
106+
$this->doctrineEventManager = $eventManager??new EventManager();
106107
$this->defaultConfiguration = $configuration??new OrmConfiguration();
107108
$manager = ContainerHelper::getNull(ManagerInterface::class, $this->container);
108109
if ($manager) {
109110
$this->setManager($manager);
110111
}
111112
}
112113

114+
/**
115+
* @return EventManager
116+
*/
117+
public function getDoctrineEventManager() : EventManager
118+
{
119+
return $this->doctrineEventManager;
120+
}
121+
113122
/**
114123
* The prefix name identity for event
115124
*
@@ -173,7 +182,7 @@ protected function configureORMConfiguration(?Configuration $configuration) : Or
173182
$orm->setAutoCommit($configuration->getAutoCommit());
174183
$orm->setMiddlewares($configuration->getMiddlewares());
175184
$schemaManagerFactory = $configuration
176-
->getSchemaManagerFactory()??new LegacySchemaManagerFactory();
185+
->getSchemaManagerFactory()??new DefaultSchemaManagerFactory();
177186
$orm->setSchemaManagerFactory($schemaManagerFactory);
178187

179188
if (($schema = $configuration->getSchemaAssetsFilter())) {
@@ -458,8 +467,8 @@ protected function setUpConnection() : DoctrineConnection
458467
$this->connection = new DoctrineConnectionExtended(
459468
$config,
460469
new DriverWrapper($this, $driver),
461-
$configuration,
462-
$this->eventManager
470+
$configuration
471+
/*, $this->eventManager*/
463472
);
464473

465474
// @dispatch(database.setUpConnection)
@@ -645,4 +654,12 @@ public function __call(string $name, array $arguments)
645654
{
646655
return $this->getConnection()->$name(...$arguments);
647656
}
657+
658+
/**
659+
* @throws Exception
660+
*/
661+
public function getServerVersion(): string
662+
{
663+
return $this->getConnection()->getServerVersion();
664+
}
648665
}

src/Database/Entities/Abstracts/AbstractAttachment.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,16 @@
4343
columns: ['path', 'storage_type']
4444
)]
4545
#[Index(
46-
columns: ['storage_type', 'mime_type'],
47-
name: 'index_storage_type_mime_type'
46+
name: 'index_storage_type_mime_type',
47+
columns: ['storage_type', 'mime_type']
4848
)]
4949
#[Index(
50-
columns: ['user_id'],
51-
name: 'relation_attachments_user_id_admins_id'
50+
name: 'relation_attachments_user_id_admins_id',
51+
columns: ['user_id']
5252
)]
5353
#[Index(
54-
columns: ['name', 'file_name', 'status', 'mime_type', 'storage_type'],
55-
name: 'index_name_file_name_status_mime_type_storage_type'
54+
name: 'index_name_file_name_status_mime_type_storage_type',
55+
columns: ['name', 'file_name', 'status', 'mime_type', 'storage_type']
5656
)]
5757
#[HasLifecycleCallbacks]
5858
abstract class AbstractAttachment extends AbstractEntity implements

src/Database/Entities/Abstracts/AbstractBasedMeta.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
use Doctrine\ORM\Mapping\Index;
1414

1515
#[Index(
16-
columns: ['name'],
17-
name: 'index_name'
16+
name: 'index_name',
17+
columns: ['name']
1818
)]
1919
#[HasLifecycleCallbacks]
2020
/**

0 commit comments

Comments
 (0)