2 namespace TYPO3\CMS\Install\Tests\Functional;
33 $this->sqlSchemaMigrationService = new \TYPO3\CMS\Install\Service\SqlSchemaMigrationService();
43 $currentDatabaseSchema = $this->sqlSchemaMigrationService->getFieldDefinitions_database();
46 $currentDatabaseSchemaForBeUsers = array();
47 $currentDatabaseSchemaForBeUsers[
'be_users'] = $currentDatabaseSchema[
'be_users'];
48 unset($currentDatabaseSchema);
51 $expectedDatabaseSchemaForBeUsers = $currentDatabaseSchemaForBeUsers;
52 $expectedDatabaseSchemaForBeUsers[
'be_users'][
'fields'][
'functional_test_field_1'] =
"tinyint(1) unsigned NOT NULL default '0'";
53 $expectedDatabaseSchemaForBeUsers[
'be_users'][
'keys'][
'functional_test_key_1'] =
"KEY functional_test_key_1 (functional_test_field_1)";
54 $createFieldDiff = $this->sqlSchemaMigrationService->getDatabaseExtra($expectedDatabaseSchemaForBeUsers, $currentDatabaseSchemaForBeUsers);
55 $createFieldDiff = $this->sqlSchemaMigrationService->getUpdateSuggestions($createFieldDiff);
56 $this->sqlSchemaMigrationService->performUpdateQueries($createFieldDiff[
'add'], $createFieldDiff[
'add']);
59 unset($currentDatabaseSchemaForBeUsers[
'be_users'][
'fields'][
'functional_test_field_1']);
60 unset($currentDatabaseSchemaForBeUsers[
'be_users'][
'keys'][
'functional_test_key_1']);
61 $this->sqlSchemaMigrationService->setDeletedPrefixKey(
'');
62 $removeFieldDiff = $this->sqlSchemaMigrationService->getDatabaseExtra($expectedDatabaseSchemaForBeUsers, $currentDatabaseSchemaForBeUsers);
63 $removeFieldDiff = $this->sqlSchemaMigrationService->getUpdateSuggestions($removeFieldDiff,
'remove');
64 $result = $this->sqlSchemaMigrationService->performUpdateQueries($removeFieldDiff[
'drop'], $removeFieldDiff[
'drop']);
65 $this->assertTrue($result,
'performUpdateQueries() did not return TRUE, this means an error occurred: ' . (is_array($result) ? array_pop($result) :
''));