2

ストアド プロシージャを多用する Web アプリケーション プロジェクト (PHP/MySQL) を継承しましたが、これらを開発用にローカル マシンに転送する方法がわかりません。

具体的には、これらのストアド プロシージャのエクスポートとインポートが困難に直面しています (アプリケーション データベースの「ベース」バージョンのインストールを自動化し、ストアド プロシージャを完備することを最終的な目標として)。

私が理解していると信じている断片を述べます。

  • テーブルをエクスポートできinformation_schema.ROUTINESますが、ローカル サーバーにインポートできません (phpMyAdmin) (これinformation_schemaはシステム データベースだと思いますか?)

  • 「オンライン」MySQL サーバーへのシェル/コマンドライン アクセスがないため、 などのツールのmysqldump使用は非常に限定されています (ローカルのテスト マシンに移植するためであり、その逆はありません)。

  • このコマンドSHOW CREATE PROCEDURE procedure_name;は、プロシージャの作成に使用できる SQL を出力するはずですが、これが正しく機能していないようです ( ERROR 1305 (42000): PROCEDURE delAddress does not exist)

  • 上記が機能すると仮定すると、次のステップは、ループしてすべてのストアド プロシージャをエクスポートすることです (..そして、phpMyAdmin を介して他の場所で実行し、インポートします)。

誤りがあれば修正し、データベース サーバー間の移植を自動化する方法についてガイダンスを提供してください。

どうもありがとう

4

2 に答える 2

1

解決策はとてつもなく単純であることがわかりました。

エクスポート ページには、Add CREATE PROCEDURE / FUNCTION / EVENT statementオプションがあります。

このボックスをチェックすると、後日/別のサーバーに手順をインポートするために必要な SQL もエクスポートされます。

于 2013-03-19T13:40:25.320 に答える
0

MySQL Workbench の移行機能を使用します。すべてが無料で、素晴らしい仕事をしています。

于 2013-03-03T21:49:00.263 に答える