faker php測試資料庫生成2

2021-08-22 10:24:35 字數 2076 閱讀 9897

因內容太長,被csdn截斷了,只好把另外的內容寫到這裡。

//biased

// 在10到20之間得到乙個隨機數字,有更大的機率接近20

echo $faker->biasednumberbetween($min = 10, $max = 20, $function = 'sqrt'),'

';echo '';

//htmllorem

//生成不超過2個級別的html文件,在任何級別上不超過3個元素。

echo $faker->randomhtml(2,3),'

';echo '';

三個特別的修飾方法:

//提供了三個特殊的修飾方法,unique(),optional(),和valid(),被任何provider之前呼叫。

//unique()強制提供者返回唯一值,當沒有新的唯一值可以生成時,丟擲異常

//加入$reset = true,會自動加字首,避免異常

$values = array();

for($i = 0; $i < 15; $i++)

print_r($values);

//optional()有時會繞過提供程式而返回預設值(預設為null)

$values = array();

for ($i=0; $i < 10; $i++)

var_dump($values); // [1, 4, null, 9, 5, null, null, 4, 6, null]

// optional()接受權重引數以指定接收預設值的概率。

// 0將始終返回預設值; 1將始終返回提供者。預設權重為0.5(50%機率)。

$faker->optional($weight = 0.1)->randomdigit; // 90% 的可能性為 null

$faker->optional($weight = 0.9)->randomdigit; // 10% 的可能性為 null

//optional()接受預設引數以指定要返回的預設值。

$faker->optional($weight = 0.5, $default = false)->randomdigit; // 50% 的可能性為 false

$faker->optional($weight = 0.9, $default = 'abc')->word; // 10% 的可能性為 'abc'

//passthrough()只返回指定的任何值。

$faker->optional()->passthrough(mt_rand(5, 15));

//valid()僅根據傳遞的驗證函式接受有效值

$values = array();

$evenvalidator = function($digit) ;

for($i=0; $i < 10; $i++)

print_r($values); // [0, 4, 8, 4, 2, 6, 0, 8, 8, 6]

//就像unique(),valid()在無法生成有效值時丟擲溢位異常

$values = array();

try catch (\overflowexception $e)

使用自己的資料

在faker->src->faker->provider->zh_cn資料夾下新建my.php

}在專案中的使用:

//呼叫自定義的內容先要加入

$faker -> addprovider(new \faker\provider\zh_cn\my($faker));

echo $faker->mysite;

資料庫生成簡單的測試資料

當需要手動在新增資料庫新增測試資料時,如果資料量大是絕對不考慮親手一條一條輸入的,此時選擇用sql迴圈寫入資料。例如圖示結構的一張表 其中,objid和equipid都設定為從1遞增的整數,tirecode和stationcache是不重要的字段隨意賦值,vulnum locnum catchnum...

測試資料生成

目的 sql server 搭建日誌傳輸,模擬災難轉移,在主庫上不斷生成測試資料,模擬生產環境。生成測試資料指令碼 表結構 if table dbo.t1 exists,then drop it if object id dbo.t1 u is not null drop table dbo.t1 ...

測試資料庫腳步

執行 sql,以資料庫管理員身份登入,下面給出測試資料庫的指令碼 需要鍛鍊動手能力的朋友,可以執行它!create database teaching gouse teaching gocreate table student sno char 10 primary key,sname char 8...