3

レガシー データベースを新しいバージョンのプログラムにインポートしていますが、ダンプから一部の列/テーブルをインポートせず、インポートするときに他のテーブル/列の名前を変更する方法があるかどうか疑問に思っています。理論的にはダンプ ファイルを編集できることは承知していますが、それはハックのように思えます。これまでのところ、1.3 GB ファイルを開くことを処理できるエディターはいません (はい、ここでそれに関する質問を読みました。いいえ、これまでのところ、答えはどれもうまくいきませんでした。)

提案?

4

3 に答える 3

3

権限を拒否し、 --force をコマンド ライン オプションとして使用することで、一部のテーブルをインポートしないようにすることができます。

一部の列をインポートしない、またはそれらの名前を変更することはできません (少なくとも、ダンプ ファイルを編集したり、インポート後に変更を加えたりしない限り)。

私の推奨事項は次のとおりです。

  • テーブルを別のデータベースにインポートします (1.3G はまだ非常に高速です)。
  • 削除/名前変更を行います。
  • データをエクスポートして、新しいダンプ ファイルを作成します。

ダンプに複数のデータベースが含まれていることが心配な場合、mysql コマンド ライン ツールには、1 つだけをインポートするための -o フラグがあります。

于 2010-07-24T19:42:42.227 に答える
3

私はそれを一時データベースにインポートし、変更をライブで行うと言います-おそらく、必要な操作を行う事前に構築されたスクリプトを適用します:

DROP TABLE ....
DROP TABLE ....
DROP TABLE ....
ALTER TABLE ..... DROP column ....

次に、完成した結果を本番データベースにコピーします。

これも非常にうまく自動化できます。

ダンプを編集するツールを見つけるよりも、問題が少なく、迅速に解決する可能性があります (または、これらのツールでよくあることですが、5 つの異なるツールを試してみて、どれもうまく機能しないことを見つけます)。

于 2010-07-24T19:40:59.190 に答える