ヒルトンリファクタリングは、古いデータベースのスキーマ[定休日]

StackOverflow https://stackoverflow.com/questions/104380

  •  01-07-2019
  •  | 
  •  

質問

れ、遺産データベースのスキーマがなくなり反映してお客様のデータモデル毎に開発者の悪夢です。いすべてのリファクタリングのコードをメンテナンス性などをしていないので聞いてくリファクタリングの旧データベースが含まれています。

どう考えている方への移行をより良いスキーマを壊すことなく、すべてのコードに依存するのですか?私は特定の問題をいています例自分が気軽にアドバイスその他の技術として実績のあるもの方が重宝します。


私の例:

自分の会社を受け、船舶の製品です。現在は商品を受領し、製品出荷して非常に異なるデータに関連したので、元のデータベースのデザイナーの作成は別のテーブルのための領収書および出荷が好調でした。

私の一年間の取り組みシステムで実現する、現在のスキーマせんリック。その両方の領収書、出荷基本的には取引では、それぞれる変化量の製品は、心臓だけは+/-サインが異なります。実際、私たちは頻繁にする必要はあるとの総量の製品を変えながら、問題をデザインはなんとも難.

明らかに、適切な設計する単一の取引テーブルのIdと外部キーのいずれかReceiptInfoやShipmentInfoます。残念ながら、間違ったスキーマは、既に生産のための一年間に数百人の保存手順は、数千のラインのコードを書くのです。どのようにしたいので遷移のスキーマを作を確認してください。◆

役に立ちましたか?

解決

この全体目録のデータベースrefactorings:

http://databaserefactoring.com/

他のヒント

これは非常に難しいものを作;カップルクオプションのリファクタリング後にデータベース:

  • ビューの作成に一致する独自のスキーマが引から新しいスキーマ;必要なトリガーこちらではの景色まで対応可能です。
  • 新しいスキーマに入れるとトリガの各側面を維持しました。
  • このブック(リファクタリングデータベース) て神に送る私の処理時の遺産データベースシステムの主要なテーマは、私がほぼ同じ課題に在庫データベースです。

    また、システムへの変更を追跡データベースのスキーマ(シリーズ変更するスクリプトはintに格納されたソース制御リポジトリ)を非常に把握コード-ツー-データベースのリンケージを

    保管-手続、意見をお友達です。場合においてもシステムを使用しませんし、変更のなかで活用することができて、refactorデータベースの下に

    ご入庫-出荷後になります。

    注意入出庫、出荷を実際に二つの異なる獣多くのシステムの実環境で期待通りに動作し、.領収書のリンク先は、出荷台数連動しお客様又はお客様/船舶への箇所)。の在庫レベル、その象徴と同じです。

    はすべてのデータにアクセス制限に保存でしょうか。ない場合、タスクがほぼ不可能である。その場合、すぐに確認し、データ移行スクリプトも移行からの新しいスキーマ、およびその確認管理の手続き名誉theur入力します。<br></p><

    もし"を選択※"ます。そうなれば、使用'sp_helpの配列を取得し、完全なリスト列のコピーが行われ、完全にカラムリスト、品切れしないようにしてほしい休みのお客様のコードです。

    私がお勧めするのは徐々に変化し、多くの統合の試験をします。こんに大幅な改造なく導入で数ございます。

    まずはテーブルを作成しschema.いった従来のデータベースを利用企業は建築家。選択できますのDBを作成しますますテーブル。そして、分割べてのカテゴリー分けを行う。Exempleすべてを受け、船舶の製品と、クライアントも、その他。一度もクリアーすることができますrefactor分野の創造による新しいテーブル、releashionshipです。もちろん、これは必要なく変更の場合すべてのアクセスせずに保存す。

    してほしいという企業から明らかにidの取引テーブルは外部キーのいずれかReceiptInfoやShipmentInfo.と思いました。オブジェクト指向モデルを用意しておいた取引表のReceiptInfoやShipmentInfoは外部キーの取引ます。運がよければ、1または2ポイントでコードが記録を更新ReceiptInfoやShipmentInfoされます。あります追加のコードがエントリを追加するには、取引表とその後のエントリReceiptInfoはShipmentInfoの外部キーを取引はない。

    ができる新しいテーブルとしてより良い構造として、制作中の名古いテーブルがデータを基に、新します。そのように、コードのだが、休憩しながらのように動き始め、より良い構造です。ご注意くださいthsiものとしてあきらノ-リレーショナルテーブル構造が複数のレコードのコードだけを期待します。これはparticulalry trueの場合において開発者はサブクエリを利用す.

    そしてそれぞれのものを変更しますから意見を表に示す。最終的にでき落としました。この少なくともできる作業段階的に保つものとして働きものが始まる修正のものを使います。

    ライセンス: CC-BY-SA帰属
    所属していません StackOverflow
    scroll top