Я в ситуации, когда у нас появился новый выпуск программного обеспечения, который будет использовать отдельную базу данных (значительные изменения в схеме) из старого. Произойдет значительный промежуток времени, когда будут созданы как новая, так и старая система, и нам нужно убедиться, что между этими двумя базами данных создаются уникальные идентификаторы (нам не нужна строка в базе данных A иметь тот же идентификатор, что и строка в базе данных B). Базы данных - Sybase.Предотвращение дублирования ключей между несколькими базами данных
Возможные решения я придумал:
- Используйте тип данных, который поддерживает очень большое количество и выделить диапазон для каждого, надеясь, что они никогда не переполнения.
- Используйте отрицательные значения для одной базы данных, а положительные значения - другую.
- Добавить дополнительный столбец, который идентифицирует базу данных, и использовать комбинацию этого и текущего идентификатора в качестве ключа.
- Плач.
Что еще я мог сделать? Есть ли более элегантные решения, так как две базы данных работают вместе? Я считаю, что две базы данных будут на одном сервере, если это имеет значение.
Готовы ли вы внести изменения в ПК на старые, новые и/или обе базы данных? Сколько таблиц связано с проблемой ПК? Могут ли ПК быть разными типами данных в разных БД или они должны быть одинаковыми? Легко рекомендовать использовать GUID, но если вам нужно сделать большие изменения в обеих БД для достижения этого, то действительно ли это лучший подход? –