我有一個帶InnoDB表的MySQL數據庫,其中很多表都有外鍵。用測試數據填充表格,同時保持關係的完整性
我打算編寫一個腳本,用測試數據填充表格(10-20k行或更多),但我想我應該問一下,是否有東西可以根據字段類型生成測試數據,但是,確保關係完整性?
我已經在generatedata.com上看到並下載了腳本,但據我所知它很聰明,但它不會讀取您的數據庫中的表並根據它發現的數據生成數據 - 您必須做的全部手動。
我有一個帶InnoDB表的MySQL數據庫,其中很多表都有外鍵。用測試數據填充表格,同時保持關係的完整性
我打算編寫一個腳本,用測試數據填充表格(10-20k行或更多),但我想我應該問一下,是否有東西可以根據字段類型生成測試數據,但是,確保關係完整性?
我已經在generatedata.com上看到並下載了腳本,但據我所知它很聰明,但它不會讀取您的數據庫中的表並根據它發現的數據生成數據 - 您必須做的全部手動。
編輯:正如馬克·拜爾斯指出的那樣,紅門工具只是SQL Server。
紅門有他們的
SQL Data Generator其特點「外鍵支持跨多個表生成一致的數據」,但它並不便宜。
Datanamic有一種產品叫做DB Data Generator。
我沒有使用過這些產品,但是我已經使用了兩家公司的其他工具,發現它們非常好。
我使用了一個單獨的連接腳本。這樣,我可以創建一個測試數據庫(實際數據庫的副本)。我在那裏添加我的測試數據。
然後它是連接腳本中的一行來選擇測試數據庫,並且當我準備好時,將一行更改回活動數據庫。
它用於播放,設計很棒,測試等
下面是一個例子:
文件名:包括/ connection.php
<?php
$DB_USER='username';
$DB_PASS='password';
$DB_HOST='localhost';
$DB_NAME='dbname';
?>
看測試數據庫,我改變最後一行爲:
$DB_NAME='testdbname';
然後,我將這個連接文件包含在每個PHP中腳本。
希望這會有所幫助。
這個人是那麼容易,因爲:
call procedurename('DATABASE','TABLE',1000,'');
將填補1000個隨機行,將填充記錄,按您的需求。
它是否尊重外鍵? – bcmcfc 2012-07-06 10:16:56
我以爲SQL數據生成器只適用於SQL Server。它會與MySQL一起工作嗎? – 2010-12-21 23:35:45