From: Tim Otten Date: Wed, 16 Sep 2020 09:58:36 +0000 (-0700) Subject: (REF) GenerateData - Allow external control randomness X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=38b93530b55ca7647571d2af28a923e99646df10;p=civicrm-core.git (REF) GenerateData - Allow external control randomness --- diff --git a/CRM/Core/CodeGen/GenerateData.php b/CRM/Core/CodeGen/GenerateData.php index 3d7268f520..31a2352c3f 100644 --- a/CRM/Core/CodeGen/GenerateData.php +++ b/CRM/Core/CodeGen/GenerateData.php @@ -26,11 +26,16 @@ class CRM_Core_CodeGen_GenerateData { /** * Class constructor + * + * @param string|int $seed + * Some scalar value used as the starting point for random-number generation. + * @param int $time + * A timestamp; some facsimile of "now". */ - public function __construct($seed = '123456789') { + public function __construct($seed, $time) { // initialize all the vars $this->seed = $seed; - $this->time = strtotime(date('Y') . '-01-01 02:03:04'); + $this->time = $time; $this->numIndividual = self::INDIVIDUAL_PERCENT * self::NUM_CONTACT / 100; $this->numHousehold = self::HOUSEHOLD_PERCENT * self::NUM_CONTACT / 100; $this->numOrganization = self::ORGANIZATION_PERCENT * self::NUM_CONTACT / 100; diff --git a/sql/GenerateData.php b/sql/GenerateData.php index 977a251b06..6928bf57af 100644 --- a/sql/GenerateData.php +++ b/sql/GenerateData.php @@ -76,7 +76,10 @@ CRM_Core_Config::singleton(); echo ("Starting data generation on " . date("F dS h:i:s A") . "\n"); try { $scope = CRM_Core_TemporaryErrorScope::useException(); - $gcd = new CRM_Core_CodeGen_GenerateData(); + // Generate reproducible data-set + // $gcd = new CRM_Core_CodeGen_GenerateData('1234', strtotime(date('Y') . '-01-01 02:03:04')); + // Generate unique data-set + $gcd = new CRM_Core_CodeGen_GenerateData(time(), time()); $gcd->generateAll(); } catch (Exception $e) {