|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Задача довольно тривиальная, может кто сталкивался, есть готовое решение? Есть несколько схем (dev, test, preprod, prod). Как бы между ними синхронизировать сиквенсы? На деве и тесте обычно далеко вперед убегают, релзить сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 10:05 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Als1973, А зачем их синхронизировать? Что у вас такого при релизе происходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 10:19 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Als1973может кто сталкивалсяТогда бы решение можно было найти поиском. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 10:19 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
20700153 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 10:30 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
jan2aryAls1973, А зачем их синхронизировать? Что у вас такого при релизе происходит? как обычно insert с одной схемы с другую. NEXTVAL не прокатывает так как на деве или тесте могут быть удаления внутри сегмента. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 10:30 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Als1973 На деве и тесте обычно далеко вперед убегают, релзить сложно. Последовательности часто используют для генерации рк допустим вернули вы значение взад, а дальше как жить, при инсерте запросто получить dublicate key ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 11:08 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
StaxAls1973 На деве и тесте обычно далеко вперед убегают, релзить сложно. Последовательности часто используют для генерации рк допустим вернули вы значение взад, а дальше как жить, при инсерте запросто получить dublicate key ..... stax Так и я про то, мне не взад, мне вперед да проде нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 11:15 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Als1973jan2aryAls1973, А зачем их синхронизировать? Что у вас такого при релизе происходит? как обычно insert с одной схемы с другую. NEXTVAL не прокатывает так как на деве или тесте могут быть удаления внутри сегмента.Это плохой дизайн, думайте еще. Сиквенсы обеспечивают уникальность (всего лишь), и логика приложения и запросов не должны зависеть от конкретных значений. И переливка данных из схемы в схему не должна зависеть от конкретных значений. Вы же не мигрируете данные из теста в прод, а только словари? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 11:20 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
jan2aryЭто плохой дизайн, думайте еще. Сиквенсы обеспечивают уникальность (всего лишь), и логика приложения и запросов не должны зависеть от конкретных значений. И переливка данных из схемы в схему не должна зависеть от конкретных значений. Вы же не мигрируете данные из теста в прод, а только словари? К меня дизайн положения хранится в таблицах. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 11:26 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Als1973, если я правильно понял вопрос, необходимо время от времени в четырех схемах выставить одноименные секвенсы в одинаковое значение. 1) это можно сделать промоткой "отстающих" секвенсов в цикле (типа 100 раз SELECT seq.Nextval FROM dual и она ушла на 100 вперед) 2) или переделать дизайн базы, оставив секвенсы только в одной схеме, а в других вместо секвенсов - лишь " синонимы ". ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 12:14 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Als1973insert с одной схемы с другуюЕсли данные появляются только в одной схеме, то докуручивать сиквенс, где он все равно не используется, смысла нет. Если данные появляются в нескольких схемах, в прокрутке сиквенса все равно нет смысла, но уже по причине, что не гарантирует промежную уникальность. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 12:27 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
-2-Если данные появляются только в одной схеме, то докуручивать сиквенс, где он все равно не используется, смысла нет. Если данные появляются в нескольких схемах, в прокрутке сиквенса все равно нет смысла, но уже по причине, что не гарантирует промежную уникальность. Данные во всех схемах должны быть одинаковыми. Интерфейс приложения там хранится, формы описываются... Задача же простая, сравнить два сиквенса и установить к большему. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 12:35 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Кроик Семён Als1973, 1) это можно сделать промоткой "отстающих" секвенсов в цикле (типа 100 раз SELECT seq.Nextval FROM dual и она ушла на 100 вперед) Можно, а можно тупо пересоздать, что я сейчас и делаю. Я спрашивал, может у кого есть готовый скрипт. Кроик Семён2) или переделать дизайн базы, оставив секвенсы только в одной схеме, а в других вместо секвенсов - лишь " синонимы ". Там не только разные схемы, там разные инстанции. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 12:42 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
тогда если без "несколько баз", а только "нескольло схем" и не напрягает, что при пересоздании секвенсов все использующие их триггеры/процедуры/пакеты станут невалидными: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:09 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Als1973, с пересоданием две заморочки 1) права 2) валидация хранимых как изменить/установить значение много раз обсуждалось у Вас вообще простой случай, накат вперед но есть нюанс, чтоб узнать значение последовательности надо спалить номер .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:11 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Als1973Задача же простая, сравнить два сиквенса и установить к большему.Через 0 секунд от начала сравнения они могут опять разойтись. Либо ты настолько криворук, что не в состоянии написать простой цикл и удовлетвориться допустимым расхождением, либо ты настолько туп, что предполагаешь, что есть универсальное решение для исправления специфично кривого управления версиями. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:26 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Кроик Семён Код: plsql 1.
Семён, Вы неподражаемы. ...и ведь вроде не первый год "замужем"... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:28 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Als1973Данные во всех схемах должны быть одинаковыми. Интерфейс приложения там хранится, формы описываются... Ну так и копируй данные. При этом они получат новые ключи из последовательностей и ничего прокручивать не придётся. В чём проблема-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:38 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНу так и копируй данные. При этом они получат новые ключи из последовательностей и ничего прокручивать не придётся. В чём проблема-то? В кривом дизайне, по-видимому. Мало того, что сделали справочные коды суррогатным ключом на базе последовательности, так еще и растащили эти последовательности по клиентам и теперь грызут ногти :) 2ТС: просто выделите себе как поставщику решения некий диапазон ключей, в который никто не в праве залезать при кастомизации решения на местах. На боевых инсталляциях выкрутите последовательность за пределы указанного диапазона. И просто переносите свои метаданные, уже не трогая последовательности. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:44 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
andrey_anonymousМало того, что сделали справочные коды суррогатным ключом на базе последовательности, так еще и растащили эти последовательности по клиентам и теперь грызут ногти :) Когда ногти отгрызут совсем, возможно, они перестанут мешать написать процедуру переноса данных с назначением новых ключей всему каскаду. Других мешающих этому факторов я не вижу. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:46 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovДругих мешающих этому факторов я не вижу. Поддержка решения при этом осложняется. Все-таки удобнее точно знать идентификаторы сущностей, которые сам же и тиражируешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:49 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Stax но есть нюанс, чтоб узнать значение последовательности надо спалить номер .... stax CURRVAL не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:49 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНу так и копируй данные. При этом они получат новые ключи из последовательностей и ничего прокручивать не придётся. В чём проблема-то? Не получат, никакие триггера не используются. Сиквенсы дергаются только из процедур. Даже если бы получили "новые ключи из последовательностей" мне этого недостаточно, нужны такие же. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:56 |
|
Синхронизация sequences
|
|||
---|---|---|---|
#18+
Viewer, 20700153 Спасибо, мне этого вполне достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2019, 13:57 |
|
|
start [/forum/topic.php?fid=52&startmsg=39764762&tid=1882881]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 324ms |
total: | 493ms |
0 / 0 |