1111use PHPUnit \Framework \Attributes \DataProvider ;
1212use PHPUnit \Framework \Attributes \Group ;
1313
14- use function sprintf ;
15-
1614/**
1715 * This class makes tests on the correct use of a database schema when entities are stored
1816 */
@@ -30,28 +28,7 @@ protected function setUp(): void
3028 }
3129 }
3230
33- #[DataProvider('getTestedClasses ' )]
34- public function testClassSchemaMappingsValidity (string $ className , string $ expectedSchemaName , string $ expectedTableName ): void
35- {
36- $ classMetadata = $ this ->_em ->getClassMetadata ($ className );
37- $ platform = $ this ->_em ->getConnection ()->getDatabasePlatform ();
38- $ quotedTableName = $ this ->_em ->getConfiguration ()->getQuoteStrategy ()->getTableName ($ classMetadata , $ platform );
39-
40- // Check if table name and schema properties are defined in the class metadata
41- self ::assertEquals ($ expectedTableName , $ classMetadata ->table ['name ' ]);
42- self ::assertEquals ($ expectedSchemaName , $ classMetadata ->table ['schema ' ]);
43-
44- $ fullTableName = sprintf ('%s.%s ' , $ expectedSchemaName , $ expectedTableName );
45-
46- self ::assertEquals ($ fullTableName , $ quotedTableName );
47-
48- // Checks sequence name validity
49- self ::assertEquals (
50- $ fullTableName . '_ ' . $ classMetadata ->getSingleIdentifierColumnName () . '_seq ' ,
51- $ classMetadata ->getSequenceName ($ platform ),
52- );
53- }
54-
31+ /** @param class-string $className */
5532 #[DataProvider('getTestedClasses ' )]
5633 public function testPersistenceOfEntityWithSchemaMapping (string $ className ): void
5734 {
@@ -64,17 +41,14 @@ public function testPersistenceOfEntityWithSchemaMapping(string $className): voi
6441 self ::assertCount (1 , $ this ->_em ->getRepository ($ className )->findAll ());
6542 }
6643
67- /**
68- * Data provider
69- *
70- * @return string[][]
71- */
44+ /** @return list<array{class-string}> */
7245 public static function getTestedClasses (): array
7346 {
7447 return [
75- [ExplicitSchemaAndTable::class, 'explicit_schema ' , 'explicit_table ' ],
76- [SchemaAndTableInTableName::class, 'implicit_schema ' , 'implicit_table ' ],
77- [DDC2825ClassWithImplicitlyDefinedSchemaAndQuotedTableName::class, 'myschema ' , 'order ' ],
48+ [ExplicitSchemaAndTable::class],
49+ [SchemaAndTableInTableName::class],
50+ [DDC2825ClassWithImplicitlyDefinedSchemaAndQuotedTableName::class],
51+ [File::class],
7852 ];
7953 }
8054}
@@ -89,3 +63,13 @@ class DDC2825ClassWithImplicitlyDefinedSchemaAndQuotedTableName
8963 #[ORM \Column(type: 'integer ' )]
9064 public $ id ;
9165}
66+
67+ #[ORM \Entity]
68+ #[ORM \Table(name: '`file` ' , schema: 'yourschema ' )]
69+ class File
70+ {
71+ #[ORM \Id]
72+ #[ORM \Column]
73+ #[ORM \GeneratedValue]
74+ public int $ id ;
75+ }
0 commit comments