7

Mysql ワークベンチを使用して、アプリケーション用のデータベースを開発しています。

たとえば、少なくとも 2 つのデータベースを使用します。

  • my_local : 常に mysql ワークベンチと同期されているローカル テスト データベース
  • myserver_database : サーバー内の最終的なデータベースです。このデータベースは運用中であり、ユーザーが更新するため、そこに保存されている情報を失うことはありません

これで、必要なときにいつでもデータベースを同期できますが、スキームを最終サーバーに更新する方法が見つかりません。名前が異なるため、次のようになります。

my_local => N/A
N/A      <= myserver_database

過去に、mysql ワークベンチでデータベースの名前を変更しただけでしたが、おそらくバグが原因で、もう機能していないようです。

データベース名に関係なく、同じワークベンチ スキームを異なるデータベースと同期できるようにしたいのですが、default_scheme を変更してもデータベース名を強制する方法が見つかりませんでした。

可能であれば、トリッキーまたは危険なソリューションを避ける方がよいので、何度も行うことを覚えておいてください。

4

1 に答える 1

5

この質問がかなり古いことは知っていますが、ワークベンチ 5.2.40 でこれを行うことができました。その方法を説明するオンラインの更新されたリソースはあまりありません。

最初に、古いデータベースのスクリプトを取得しました。

mysqldump -no-data myolddb > script.sql

(スキーマを同期したいだけです。これはワークベンチでも実行できます)

ここでの秘訣はuse mynewdb;、最初の行としてスクリプトを追加してスクリプトを変更することです。このようにして、ワークベンチは N/A またはデフォルトのスキーマのナンセンスを言いません。

ワークベンチで、サーバー上にある mynewdb の EER モデルを作成し、[データベース] -> [任意のソースと同期] を選択し、最初に変更したスクリプトを使用して、ウィザードで [モデル スキーマデータ] から [スクリプト ファイル] を選択します。そして、同期ウィザードは正常に機能しました。

于 2012-09-19T09:38:46.633 に答える