実行時にテストDBを作成しようとしていますが、正確な重複テストDBを維持する必要はありません。データ構造全体をコピーしたいと思います。実行時に私のプロダクションDBを開き、次にテストデータベースを閉じるとデータベース全体をドロップします。Mysql Sql文からデータベースをコピーする
は、私は私のようなステートメントを使用すると仮定します。
CREATE DATABASE test //to create the test db
CREATE TABLE test.sampleTable LIKE production.sampleTable //to create each table
をそして私はのような何かを実行しますcloseメソッドの呼び出し、テストデシベルを終えていたとき:
DROP DATABASE test //delete the database and all its tables
しかし、どのように行うの手動で作成することなく、本番データベース内のすべてのテーブルを自動的に検索します。アイデアは、テストDB内で構造を同じように維持することを心配することなく、私の制作DBを操作できるということです。
この場合、ストアドプロシージャは必要ですか?このようなことを達成するためのサンプルコードのいくつかは高く評価されます。
両方の場所で構造を維持するのではなく、[MySQLレプリケーション](http://dev.mysql.com/doc/refman/5.0/en/replication.html)でこれを行うことができるので、prod (データとスキーマ)がすぐにテストに同期します。 –
MySQLの "SHOW TABLES"コマンドは、特定のデータベースの一時的でないテーブルを一覧表示します –
データベース、テーブル、およびそれらのテーブル内のすべてのデータを複製にコピーしませんか?私のテストDBは空のテーブルを持つ必要があります、私はちょうどテーブル構造をコピーしたい。 – ryandlf