SugarCRM data generator

Ouvir com webReader

O SugarCRM dispõe de um gerador de dados para popular a DB com accounts, contacts, etc de exemplo. No entanto, pode ser utilizado para gerar DB's para testes, nomeadamente para testes de carga. Segundo o que percebi, este data generator usa um seed fixo para que os dados gerados para uma DB sejam os mesmos para outra, para que se possam comparar entre si, por exemplo. Eis os passos necessários [usados na versão 5.5]:

Procurar large_scale_test no config.php (próx. à linha 200) e alterar para true:

CODE:
  1. 'large_scale_test' => false,
  2. 'large_scale_test' => true,

Colocar o script seguinte em install/dataGeneratorKit.php. Este script servirá de wrapper para o populateSeedData.php que já dispõe da lógica para popular a DB em termos propocionais:

PHP:
  1. define('sugarEntry',1);
  2. require_once('include/entryPoint.php');
  3. require_once('install/install_utils.php');
  4.  
  5. require_once('modules/TableDictionary.php');
  6.  
  7. require_once "include/database/DBManagerFactory.php";
  8. include "install/populateSeedData.php";
  9. ?>

Talvez seja necessário comentar algumas linhas dos ficheiros i18n, parecidas às que se mostram abaixo (fazem referência a SugarThemeRegistry). Pelo menos em 5.5beta foi:

PHP:
  1. ...
  2. //    'LBL_EMAIL_ADDRESS_BOOK_TITLE_ICON'     => 'getImageURL('icon_email_addressbook.gif').' align=absmiddle border=0> Address Book',
  3. //    'LBL_EMAIL_ADDRESS_BOOK_TITLE_ICON_SHORT'     => 'getImageURL('icon_email_addressbook.gif').' align=absmiddle border=0> Addr...',
  4. ...

Se necessário, alterar os valores no ficheiro install/populateSeedData.php:

PHP:
  1. if($large_scale_test) {
  2.         // increase the cuttoff time to 1 hour
  3.         ini_set("max_execution_time", "3600");
  4.         $number_contacts = 100000;
  5.         $number_companies = 15000;
  6.         $number_leads = 100000;
  7. }

Finalmente, executar:

CODE:
  1. php -f install/dataGeneratorKit.php

Notas

  • Não sei até que ponto o script é eficiente, pois já me crashou com ''memory exhausted'' nos 256MB de memory_limit.

Aproveitei e copiei este artigo para a Wiki da SugarCRM.


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

Leave a Reply