2009-05-15 11 views
6

作成したMySQLイベントをテストするための自動テストスクリプトを作成しようとしています。イベントを強制するコマンドを実行する方法があるかどうか疑問ですすぐに実行します。イベントは毎日深夜に実行されるように設定されていますが、自動テストスクリプトがイベントがトリガーするのを待つ必要はありません。MySQLでイベントを強制的に実行する方法

私が考えることができる1つの方法は、予定を5秒後に実行するようにイベントを変更することですが、それを実行するよりエレガントな方法があるかどうかを知りたいと思います。

答えて

14
  1. 移動
  2. ストアドプロシージャにイベント内のすべてのコードは、イベントが唯一のストアドプロシージャ
  3. テストCALL構文を持つストアドプロシージャを呼び出してください。
+0

私は実際にシステム時間を変更するこの解決策を好んでいます... イベントの定義の一部としてクエリを実行するのではなく、ストアドプロシージャを呼び出すイベントは一般的には良い習慣と考えられますか? – user55417

+0

私は個人的にイベントを使用したことはありませんが、これは良い練習です。 – Evert

0

システム時間に基づいている場合は、それを変更して、イベントが発生したかどうかを確認してから、システム時間を戻してください。

+0

これはそれを動作させる1つの方法です...しかし、私はテスターのシステム時間を変更することについて少し慎重になるでしょう。特に、私はMySQLデータベースの問題に遭遇し、システム時間を変更しているからです。 たとえば、レプリケートされたシステムのスレーブMySQLサーバでシステム時間を変更すると、時間の変更によってレプリケーションプロセスが中断されます。 – user55417

関連する問題