Générer des données aléatoires dans votre base de données.FakeDB est un script php pour générer de fausses données aléatoires dans une base de données.

Il utiliser un fichier xml de descripteur pour générer les données selon un certain modèle ou format, il possède de nombreuses fonctionnalités intéressantes comme fichier de téléchargement par url, filtrer les données, génération de gamme … etc

Télécharger : https://bitbucket.org/b4n92uid/fakedb

Utilisation

php fakedb.php [-c <number>] [-d <key=value>] [-p] xmlfile

xmlfile Required. XML File path

-c/--count <argument> Generation iteration count

-d/--define <argument> A define to override file value (key1=value1;key2=value2)

-p/--print-only Only print result

Exemple d’utilisation

Générer 10 produits
php fakedb.php product.xml -c 10

Un aperçu de la génération de données de 10 produits dans la console
php fakedb.php product.xml -c 10 -p

Définie une variable à utiliser dans le fichier descripteur
php fakedb.php product.xml -d key=value

Fichier de description (xml file)

Exemple d’un descripteur de fichier xml

<table host="localhost" user="root" pass="" dbname="database" name="product" >
    <data column="name" pattern="[w:1,3]" />
    <data column="date" pattern="[d:2010-01-01,2012-06-01]" />
    <data column="price" pattern="[n:800,170000,-2]" />
    <data column="description" pattern="[t:64,128]" />
    <data column="img" pattern="[url:$src,$dst,jpg|basename]"
        var-src="http://lorempixel.com/640/480/technics/"
        var-dst="D:\project\website.com\uploads\product" />
    <data column="slug" pattern="[f:name|slug]" />
    <data column="hits" pattern="[n:0,512]" />
    <data column="discount" pattern="[s:0,0,2000,501]" />
    <data column="store_id" pattern="[b:store.id]" />
</table>

Référence Tag

[e:string1, string2, ...] Ecris la chaîne donnée avec l’espace

[w:min,max] Générer un mot de longueur aléatoire entre min et max

[t:min,max] Générer un texte avec des mots aléatoires entre min et max

[n:min,max] Générer un nombre compris entre min et max

[w:min,max,numeric] Générer une séquence de chararcters entre min et max longueur et éventuellement inclure le numéro

[q:min,max] Générer une séquence de nombre seulement entre min et max longueur

[a:item1,item2,...] Retourne un tableau sérialisé avec les éléments donnés

[f:column] Retourne la valeur de la colonne de l’enregistrement en cours. Doit être déjà généré

[b:table.column] Retourne la valeur de la colonne de la table en interne faire une requête SQL pour extraire. La valeur doit être déjà enregistré

[s:item1,item2,...] Choisissez un élément aléatoire dans la liste proposée

[p:path] Choisissez un nom de fichier aléatoire de chemin d’accès spécifié

[d:start,end] Retourne une date aléatoire entre le début et la fin

[m:host.tld] Générer un mail avec éventuellement avec un hôte et tld spécifiée

[url:src,dst,ext] Récupere un fichier depuis le parametre src puis l’enregistrer dans dst dirpath avec un nom de fichier généré et éventuellement l’extension spécifiée

[web] Générer une adresse URL d’un site Web avec éventuellement le tld spécifié