diff --git a/composer.json b/composer.json
index 5b886cb..32c9258 100644
--- a/composer.json
+++ b/composer.json
@@ -14,7 +14,7 @@
"symfony/console": "^2.0.5|^3.0|^4.0|^5.0",
"symfony/framework-bundle": "^4.0",
"symfony/doctrine-bridge": "^4.2",
- "prowebce/database-anonymizer": "0.0.5"
+ "prowebce/database-anonymizer": "dev-task-force-anonymization"
},
"require-dev": {
"doctrine/annotations": "^1.6",
@@ -26,6 +26,7 @@
"matthiasnoback/symfony-dependency-injection-test": "^3.1",
"doctrine/doctrine-bundle": "^1.11"
},
+ "minimum-stability": "dev",
"suggest": {
"doctrine/annotations": "To enable annotations.",
"symfony/console": "To enable console commands.",
diff --git a/src/Command/AnonymizeCommand.php b/src/Command/AnonymizeCommand.php
index f8056ac..dd36c08 100644
--- a/src/Command/AnonymizeCommand.php
+++ b/src/Command/AnonymizeCommand.php
@@ -126,6 +126,9 @@ protected function configure()
->addOption('connection', 'C', InputOption::VALUE_REQUIRED, 'Name of the connection to database.')
->addOption('annotations', 'a', InputOption::VALUE_NONE, 'Use annotations. "em" option must be provided.')
->addOption('em', null, InputOption::VALUE_REQUIRED, 'Entity manager.')
+
+ ->addOption('number_of_parts', null, InputOption::VALUE_REQUIRED)
+ ->addOption('current_part', null, InputOption::VALUE_REQUIRED)
;
}
@@ -214,6 +217,9 @@ protected function execute(InputInterface $input, OutputInterface $output)
$targetFactory->setConnection($connection);
$targetTables = $targetFactory->createTargets($config);
- $this->anonymizer->anonymize($connection, $targetTables);
+ $this->anonymizer->anonymize($connection, $targetTables, [
+ 'number_of_parts' => (int) $input->getOption('number_of_parts'),
+ 'current_part' => (int) $input->getOption('current_part'),
+ ]);
}
}
diff --git a/src/Config/AnnotationConfigFactory.php b/src/Config/AnnotationConfigFactory.php
index 755cfc1..7b2bd3f 100644
--- a/src/Config/AnnotationConfigFactory.php
+++ b/src/Config/AnnotationConfigFactory.php
@@ -51,7 +51,7 @@ public function getConfig(array $allMetadata)
$tableName = $metadata->table['name'];
$config[$tableName] = [
- 'primary_key' => $metadata->identifier,
+ 'primary_key' => [],
'fields' => [],
];
@@ -62,6 +62,7 @@ public function getConfig(array $allMetadata)
foreach ($metadata->fieldMappings as $fieldName => $fieldMapping) {
if (in_array($fieldName, $metadata->identifier)) {
+ $config[$tableName]['primary_key'][] = $fieldMapping['columnName'];
continue;
}
diff --git a/src/Resources/config/services.xml b/src/Resources/config/services.xml
index 0ecc8e1..ff749ea 100644
--- a/src/Resources/config/services.xml
+++ b/src/Resources/config/services.xml
@@ -24,7 +24,11 @@
+
+
+
+