2010-11-25 10 views
1

大規模なスキーマの変更を受けるかなり大きなデータベースがあります。追加される多くの新しいエンティティとリレーションシップがあります。既存のスキーマは、基本的なUPDATEステートメントとINSERTステートメントを使用してデータを移行するのに必要な行と関係を生成するのに十分な情報がありません。本番用のmysqlデータベースで複雑なスキーマ更新を行う最も簡単な方法は何ですか?

mysqlデータベースに既存のデータをかなり重い分析が必要なレコードを挿入して更新する最も簡単な方法は何ですか?プログラミング言語? MySQLのプログラミング能力?

理想的には、残りのデータ移行コード(alter table、create tablesなど)を使用してスクリプトとして実行したいので、すべて同じ順序で実行されます。しかし、私は、変数、関数、ロジックなどを使用するような、SQLベースのプログラムを書く際に最も経験が豊富ではありません。20年にわたるアプリケーションの作成では、ストアドプロシージャやSQLベースのプログラムを書くことは決してありません。

私は、データを移行するだけで1日か2日の作業を見ていると思います。

もう1つのオプションがありますか?または、SQLの要点をかなり必要としていますか?

アドバイスはありますか?

ここで私は何をする必要があるかの基本的なアルゴリズムだ:

  • は、1人の教師を見つけるすべての教師のうち、すべての許可を見つける
  • 各教育施設を表現するために(ランダムに最初のIDを?)各教育施設のモジュール
  • 教育施設を表す教師用に許可されたモジュールごとにコースを作成します(教育施設のモジュールへの参照を持つ)。上記とリンクあなたがデータを移行すると同時に、スキーマを変更し、私はあなたがスキーマを変更して新しいデータベースを(作成をお勧めしている場合は、アクティブモジュール
  • には、アクティブモジュール

答えて

0

からモジュールの参照を削除します元のデータベースを変更せずにデータを移行します。これもバックアップする必要があります。

あなたはいつもあなたの新しいデータベースを捨てて、翻訳の問題を修正し、新しい空のDBを作り直してください。

私はあなたがMySQLで作業していることを認識していますが、SQL Serverにもアクセスできますか? SSISを使用してデータを移行することができます(MySQLで使用できるSSISに似たオープンソースツールを誰かが知っていない限り)

これは優れたツールであり、SQL言語知識を必要としません私はあなたがその主題に関する本を購入することをお勧めしますが、物事を働かせるために。私はSSISをMySQLに接続しようとしたことはありませんでしたが、ODBCを使用することができます。Connecting to MySQL from SSIS

関連する問題