2011-07-18 6 views
0

На самом деле я хочу перенести большой набор данных в другую базу данных, у которой уже есть некоторые данные. Схема данных одинакова в обеих БД. Сценарий заключается в том, что у моего клиента есть приложение, которое уже работает на производстве, и он дал мне некоторые новые требования для его реализации. после внедрения он хочет протестировать новые требования на сервере временного производства для принятия теста на 2 местоположения. Так что я привязал существующую базу данных к новому серверу. Теперь я хочу написать сценарий БД, который переносит данные местоположения между до и после приемочного тестирования. Моя проблема заключается в том, что идентификатор билета моей таблицы имеет идентификатор и запущенное приложение на обоих серверах данных, которые будут вставлять те же идентификаторы TicketID. Теперь, когда я переношу данные, возникает конфликт Первичного ключа. Моя схема родительской таблицы следующая.Перенос базы данных SQL

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

Другая проблема заключается в том, что билет ID является печать на квитанции клиента и клиент не хочет менять билетов No.

Пожалуйста, предложите мне решение этой проблемы.

Одним из решений является добавление столбца OldTicketID, но для этого мне нужно изменить код приложения, и я не хочу изменять, что есть много дочерней таблицы.

+0

Вы даже не говорите, что такое ваша СУБД. Я предположил Microsoft SQL Server (для бит «Identity»). Вы можете исправить это самостоятельно, если это неправильно. –

ответ

0

Вы можете изменить столбец идентификатора, чтобы генерировать нечетные числа в старом наборе данных (идентификатор (1,2)) и только четные числа в новом наборе данных (identity (seed, 2)).

Семена должны быть установлены на самый высокий билет, который в настоящее время находится в производственной системе, поэтому конфликтов с идентификаторами не было.

Смежные вопросы