PHPackages                             icomefromthenet/faker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. icomefromthenet/faker

ActiveLibrary[Testing &amp; Quality](/categories/testing)

icomefromthenet/faker
=====================

Test data generator using Doctrine DBAL and Symfony2 components

v1.1(7y ago)7872[8 issues](https://github.com/icomefromthenet/Faker/issues)Apache-2.0PHPPHP ^7.1

Since Aug 20Pushed 7y ago2 watchersCompare

[ Source](https://github.com/icomefromthenet/Faker)[ Packagist](https://packagist.org/packages/icomefromthenet/faker)[ Docs](https://github.com/icomefromthenet/Faker)[ RSS](/packages/icomefromthenet-faker/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (18)Versions (13)Used By (0)

\#Faker - A Database testing tool.

There have been a few ports of the original [Perl Faker](http://search.cpan.org/~wsheldahl/Data-Faker-0.09/lib/Data/Faker.pm) and a few to php. What started as another has grown instead into a comprehensive data generation tool, powered by Doctrine DBAL and Symfony2 Components.

Where I think Faker will help you:

1. Write PHPUnit DBUnit fixtures, this will save you time (especially if that involves more than one platform).
2. You need to fill database with test data for various loading test.

If your a database tester or a lone developer Faker will help you test your database quicker.

\##Features

1. Supports multiple platforms using Doctrine DBAL. (MySql|PGSQL|Oracle|Sqlite|MSSql).
2. Supports PHPUnit Dataset XML for DBUnit fixtures.
3. Supports Standard Sql DDL (insert statements) for the platforms mentioned above.
4. Output Formats have their own templates that can be customized per project. (add own branding).
5. Configured via XML file that feels closer to your database.
6. Many [built in datatypes](http://github.com/icomefromthenet/Faker/blob/master/docs/types/index.md), Including text, numeric , autoincrements, email , city names etc
7. Embraces extension, write own types, writters and locales.
8. Installed via composer.
9. Analyse and build struct from existing database.
10. Seed your random number generator for repeatable results (seed global|table|column|type).
11. Supported custom locals, generate test data in unicode. **(Not just ENGLISH)**.
12. Project folder that can be version controled with your project.

\##Requirements.

SQlite3, PHP5.3.3, MBString, Pear and Linux / Mac (windows support in beta).

All components are included by default in package installs of php.

How to install
--------------

[](#how-to-install)

The easist way to install to use composer

```
{
  "require-dev" : {
    "icomefromthenet/faker": "dev-master"
  }
}
```

Read more from the [starting guide](http://github.com/icomefromthenet/Faker/blob/master/docs/starting.md)

Quick Example - still wondering
-------------------------------

[](#quick-example---still-wondering)

**Turn your SCHEMA**

```

```

**Calling command**

```
 ../vendor/bin/faker.php faker:generate schema.xml
```

**INTO DATA**

```
-- Migrations Faker Dump
-- version 1.0.2
-- https://github.com/icomefromthenet/Faker
--
-- Host: localhost
-- Generation Time: 2012-07-03T06:08:02+00:00
-- PHP Version: 5.3.10-1ubuntu3.2
-- Platform: mysql

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Database: sakila
--

-- --------------------------------------------------------

--
-- Table: actor
--

USE sakila;

INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (1,'Jordan','Proctor','2012-07-03 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (2,'Michele','Welsh','2012-07-10 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (3,'Paul','Lam','2012-07-17 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (4,'Sheila','Best','2012-07-24 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (5,'Karl','Moser','2012-07-31 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (6,'Victoria','Todd','2012-08-07 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (7,'Julia','Sun','2012-08-14 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (8,'Jimmy','Rankin','2012-08-21 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (9,'George','Brantley','2012-08-28 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (10,'Wendy','Walton','2012-09-04 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (11,'Lester','Osborne','2012-09-11 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (12,'Edwin','Upchurch','2012-07-03 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (13,'Courtney','Ennis','2012-07-10 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (14,'Nina','Fischer','2012-07-17 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (15,'Brooke','Benson','2012-07-24 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (16,'Angela','Rodriguez','2012-07-31 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (17,'Todd','Wiggins','2012-08-07 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (18,'Ron','Smith','2012-08-14 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (19,'Andrew','Coates','2012-08-21 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (20,'Kerry','Harrison','2012-08-28 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (21,'Harvey','Mercer','2012-09-04 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (22,'Herbert','Gould','2012-09-11 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (23,'Donna','Forrest','2012-07-03 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (24,'Vivian','Sumner','2012-07-10 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (25,'Carol','Oliver','2012-07-17 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (26,'Patricia','Tate','2012-07-24 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (27,'Dolores','Bowers','2012-07-31 00:00:00');
INSERT INTO `actor` (`actor_id`,`first_name`,`last_name`,`last_update`) VALUES (28,'Gerald','Pearson','2012-08-07 00:00:00');
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~218 days

Recently: every ~524 days

Total

11

Last Release

2825d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/bf07079383d640a4a434d2133398f4c6f9bbc1a5752798b939ddd698bea699f7?d=identicon)[icomefromthenet](/maintainers/icomefromthenet)

---

Top Contributors

[![icomefromthenet](https://avatars.githubusercontent.com/u/746782?v=4)](https://github.com/icomefromthenet "icomefromthenet (91 commits)")

---

Tags

testingdatabasegenerator

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/icomefromthenet-faker/health.svg)

```
[![Health](https://phpackages.com/badges/icomefromthenet-faker/health.svg)](https://phpackages.com/packages/icomefromthenet-faker)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M650](/packages/sylius-sylius)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[contao/core-bundle

Contao Open Source CMS

1231.6M2.3k](/packages/contao-core-bundle)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
