2011-07-18 11 views
0

実際には、大規模なデータセットをすでにデータがある別のデータベースに移行したいと考えています。データスキーマは両方のDBで同じです。シナリオでは、私のクライアントにはすでにプロダクション環境で稼働しているアプリケーションがあり、それを実装するための新しい要件が与えられています。実装後に、2つの場所での受諾者テストのための一時的なプロダクションサーバーに関する新しい要件をテストする必要があります。既存のデータベースを新しいプロダクションサーバーに接続しました。今私は、受け入れテストの前後で場所のデータを移行するDBスクリプトを作成したいと思います。私の問題は、私のテーブルのチケットIDがアイデンティティを持っていて、両方のデータサーバー上のアプリケーションが同じTicketIDを挿入することです。今すぐデータを移行すると、主キーの競合が発生します。親テーブルの私のスキーマは以下の通りです。SQLデータベースの移行

TicketID, Identity(1,1) int 
LocationID int 
Problem varchar(500) 
IssueDate DateTime 

もう一つの問題は、チケットIDは、チケット番号

を変更したくないお客様の領収書とクライアント上で印刷されていることである私は、この問題の解決策を提案してください。

1つの解決策は、列OldTicketIDを追加することですが、私はアプリケーションコードを変更する必要があります。そのため、多くの子テーブルがあることを変更したくありません。

+0

あなたはあなたのDBMSが何であるかを言っていません。私はMicrosoft SQL Server( 'Identity'ビット用)を想定しています。それが間違っている場合は、自分で修正することができます。 –

答えて

0

新しいデータセット(identity(seed、2))の古いデータセット(ID(1,2))と偶数のみに奇数を生成するようにID列を変更することができます。

シードは、現在プロダクションシステムにある最も高いチケットIDに設定する必要があります。そのため、IDと競合することはありません。

関連する問題