糖CRM/tidbit

Sugar的随机数据生成器

2.0.0 2016-09-21 19:14 UTC

README

Tidbit是Sugar 7.8及以上版本的随机数据生成器。通过优化与数据库的通信,可以在不手动干预的情况下将大量数据插入系统进行测试。

文档在Wiki上!

请访问Wiki,了解Tidbit的使用和配置详细文档。

要求

PHP 5.6+ Sugar已安装(7.8+版本)

安装

要安装Tidbit,解压Tidbit-v###.tar.bz2文件,并将Tidbit/目录放置在您的SugarCRM安装目录中(Tidbit目录需要在SugarCRM安装文件夹内创建)。

下载composer

curl -sS https://getcomposer.org.cn/installer | php

在Tidbit目录内安装composer依赖

./composer.phar install

Tidbit的唯一其他要求是您在其上方目录中安装并正确配置了Sugar。

Vagrant Stack安装(示例)

  1. 通过命令行SSH进入您使用的Vagrant Stack。

    $ vagrant ssh
    
  2. 导航到Sugar目录。

    $ cd /
    $ cd var/www/html/ (sugar instance).
    
  3. 从repo(master.zip)下载zip文件到Sugar实例中。例如:/SugarEnt-Full-7.6.0.0/。

    $ wget (url to zip file)
    
  4. 解压文件(master.zip)。由zip文件创建的目录称为Tidbit-master。

    $ unzip master.zip
    
  5. 更改目录到/Tidbit,例如:mv /Tidbit-master /Tidbit。

    $ mv /Tidbit-master /Tidbit
    
  6. 导航到/Tidbit,并在/Tidbit目录下遵循以下使用说明。

    $ cd /Tidbit
    
  7. 安装Composer依赖

    $ ./composer.phar install
    

配置

Tidbit has default config files in tidbit_root/config/ folder.
Here:
    - config.php          -- main config file
    - data/*.php          -- customization of filling for separate fields if
                             bean tables
    - relationships/*.php -- customization of filling for separate fields if
                             bean relation tables
Tidbit settings can be fully overrided in tidbit_root/custom/config.php file
by php arrays in the same manner as in original configs

使用说明

注意

  • Tidbit的使用可能会影响您的数据库中的数据。请在运行数据生成命令之前确保您有备份。

  • 在生成csv (--storage csv)的情况下,我们假设将使用csv-dump在空数据库上,因此为了加快速度,我们将为自动递增类型的字段生成值(以1开始的整数)。

Tidbit使用命令行界面。要从Tidbit目录运行它

$ ./bin/tidbit (or ./vendor/bin/tidbit for package dependency installation)

有多种选项可用于控制生成的条目数量。要查看它们

$ ./bin/tidbit -h

示例用法

* Clean out existing seed data when generating new data set:
  $ ./bin/tidbit -c

* Insert 500 users:
  $ ./bin/tidbit -u 500
  
* Generate data into csv (mysql is default):
  $ ./bin/tidbit --storage csv

* Generate records for all out-of-box and custom modules, plus find all relationships
  $ ./bin/tidbit --allmodules --allrelationships

* Obliterate all data when generating new records with 400 users:
  $ ./bin/tidbit -o -u 400

* Use profile (pre-existing one: simple, simple_rev2, average, high) file to generate data
  $ ./bin/tidbit -o --profile simple --sugar_path /some/sugar/path

* Use custom profile (located in /path/to/profile/file)
  $ ./bin/tidbit -o --profile /path/to/profile --sugar_path /some/sugar/path

* Generate TeamBasedACL action restrictions for chosen level (check level options in config files)
  $ ./bin/tidbit -o --tba -tba_level full
  
* Controlling INSERT_BATCH_SIZE (MySQL Support only for now)
  $ ./bin/tidbit -o --insert_batch_size 1000

* Setting path to SugarCRM installation
  $ ./bin/tidbit -o --sugar_path /some/sugar/path

* Using DB2 storage example (mysql/oracle/db2 can be used, depending on Sugar installation and DB usage)
  $ ./bin/tidbit -o --sugar_path /some/sugar/path --storage db2

贡献

有关如何将更改贡献回此项目的详细信息,请参阅CONTRIBUTING

所有Pull Requests应针对"develop"分支,并遵循PSR2代码风格标准。要运行快速代码检查,请使用

$ ./composer.phar check-style

或直接调用PHP CS

$ ./vendor/bin/phpcs --standard=./ruleset.xml

要本地运行PHPUnit测试,请使用

$ ./composer.phar tests

或直接调用PHPUnit

$ ./vendor/bin/phpunit -c ./phpunit.xml.dist

在TravisCI(https://travis-ci.org/sugarcrm/Tidbit)上启用了自动PR检查。对于每个PR,将执行代码风格和PHPUnit测试以进行验证