0

ソースコードファイルをFTPで転送してから、データベースのダンプを取得し([テーブルの削除]オプションが選択されている場合)、ライブテストサーバーデータベースを上書きします。"junk" testing dataしかし、これに伴う問題は、私と一緒にいくらかかかることrequired default dataです。次に、クライアントにクリーンな状態を提供できるように、不要な行を手動で削除する必要があります。既存のテーブルとデータを削除し、必要なデフォルトデータを使用して新しいテーブルを作成するスクリプトを使用して実行するのが理想的です。

私が持っていたアイデアは-

$table1 = "sql to create table1";
mysql_query($table1);
$table1_data = "sql to insert default data for table1"; 
mysql_query($table1_data);

20以上の異なるテーブルの場合など...

これを処理するためのより良い方法があるはずです。あなたは何と言うでしょう?

** アップデート **

1つの変数にすべてのクエリを記述して実行することは可能です-例:

$sql =" 
   Drop If exists table1
   create table1 ....
   Insert Into table 1....
   Drop If exists table2
   create table 2
   Insert into table 2 
   .....
   .....
   .....
";
mysql_query($sql);
Is there a way to achieve something like above???
4

2 に答える 2

0

一部のPHPフレームワークでは、必要なテーブルに事前定義されたデータを入力するフィクスチャを設定できます。このようなフレームワークを使用していない場合は、テストに必要なテーブルのみのダンプを作成し、他のテーブルはそのままにしておくことをお勧めします。

シェルアクセスがある場合はmysqldump、データベース名の直後にエクスポートするテーブルを指定することで、で部分ダンプを作成できます。

mysqldump --host=localhost --username=myuser --password databasename table1 table2 table3 >databasename.sql
于 2012-06-28T15:09:05.477 に答える
0

コミュニティからの回答が得られなかったので、自分の解決策に固執しています。

クエリの配列を作成しました-

$queries[] = 'drop table';
$queries[] = 'create table';
$queries[] = 'Insert into table';

次に、それぞれをforループで実行します。それが誰かを助けることを願っています!

于 2012-06-29T13:09:47.923 に答える