|
|
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenkoя автоинкрементами вообще не пользовался (за редким исключением) и всегда считал их злом. Что, SELECT MAX(id)+1 рулит?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 16:38:07 |
|
||
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, почему? Может у него натуральные ключи используются (хотя в MS SQL с триггерами на update будет тяжело) или guid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 16:44:59 |
|
||
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko> кстати обнуляю я их не в программе Mikhail Tchervonenko> а в скрипте который генерирует таблицы. В скрипте, который генерирует DDL-ы таблиц или в DDL-скрипте их создания? Ибо если второе, то как раз Create/Set Generator - правильное решение, в отличие от выбранного трюка. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 16:58:06 |
|
||
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
wadmanMikhail Tchervonenkoкстати обнуляю я их не в программе а в скрипте который генерирует таблицы. Почему этот-же скрипт не (пере)создает генераторы для создаваемых таблиц? тут согласно внутренней политике все изменения в базе ведутся через скрипты. Если в базе создаётся блок по смыслу связанных таблиц то до первого релиза программы работающей с этим блоком удобно иметь скрипт который создаёт таблицы (если они не созданы ещё), копирует в них какие то данные и изменяет структуру таблиц в хронологическом порядке. При этом желательно если в процессе тестирования какие то данные добавились в таблицы не удалять их без особой нужды (это к вопросу почему просто не пересоздать генераторы). После выхода первого релиза, под каждый новый релиз, создаётся свой скрипт который вносит уже только изменения в структуру таблиц и если необходимо добавляет новые. Это очень удобно если разработку надо вести и вне пределов фирмы, напр, дома на ноуте. Зачекал скрипт из svn, накатил и получил последний вариант структуры базы. Безусловно иногда и дамп базы накатить приходится но это времязатратно и не всегда необходимо. А индексы привык использовать либо из комбинации полей, и только если нужна порядковая нумерация автоинкремент. В некоторых случаях удобны GUID подобные индексы, особенно если нужно уникальность поля не только в рамках таблицы но и в рамбках базы или многих баз. К такому GUID удобно привязывать все (логгирование, блокировки итп вещи если они реализовываются не родными средствами сервера баз данных). Автоинкремент плох, с моей точки зрения, дополнительными проблеммами при синхронизации или слиянии данных. Думаю эти проблеммы и без меня всем хорошо известны. Вот собственно и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 17:06:13 |
|
||
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
Mikhail TchervonenkoАвтоинкремент плох, с моей точки зрения, дополнительными проблеммами при синхронизации или слиянии данных. у ERP-шников есть правило: первичный ключ (ID-записи) не должен нести НИКАКОЙ информации об объекте в базе. еще раз: НИКАКОЙ! это просто идентификатор записи. если нужно уникальное значение, одинаковое для всех баз (например, штрих-код товара), то заводится дополнительный домен в таблице. а проблемы синхронизации решаются путем дополнительной таблицы, в которой есть домены: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 17:23:39 |
|
||
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko, IBExpert прекрасно умеет генерировать скрипт обновления при сравнении как с контрольной БД, так и со скриптом. Так что напрасно вы себя так мучаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 17:27:22 |
|
||
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисMikhail Tchervonenko, IBExpert прекрасно умеет генерировать скрипт обновления при сравнении как с контрольной БД, так и со скриптом. Так что напрасно вы себя так мучаете. Тут это отчасти с документированием связано итп Да и не я правила устанавливаю (пока). Достоинство скрипта в том что он может и с нуля все сделать и интеллектуально по задуманной логике, на мой испорченный взгляд удобно. Конечно не так как это в Visual Studio реализовано (см. проект базы), но хоть что то. Если бы у FireBird было что то что позволяет напрямую хранить структуру базы и скрипты в SVN как это реализовано в продуктах для MSSQL то было бы намного удобнее. Вообще надо идею подкинуть разработчикам IBExpert сделать интеграцию с svn и git. Было бы удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 17:53:48 |
|
||
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
PEAKTOPMikhail TchervonenkoАвтоинкремент плох, с моей точки зрения, дополнительными проблеммами при синхронизации или слиянии данных. у ERP-шников есть правило: первичный ключ (ID-записи) не должен нести НИКАКОЙ информации об объекте в базе. еще раз: НИКАКОЙ! это просто идентификатор записи. если нужно уникальное значение, одинаковое для всех баз (например, штрих-код товара), то заводится дополнительный домен в таблице. а проблемы синхронизации решаются путем дополнительной таблицы, в которой есть домены: Код: plaintext 1. 2. 3. 4. 5. Да, примерно так на MsSQL и делали всегда. Единственное в качестве первичного ключа всегда пользовал GUID что позволяло обойтись без вышеописанной таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 18:00:17 |
|
||
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
Mikhail Tchervonenko Если бы у FireBird было что то что позволяет напрямую хранить структуру базы и скрипты в SVN isql -x и закидывай в SVN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 18:15:11 |
|
||
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисMikhail Tchervonenko, IBExpert прекрасно умеет генерировать скрипт обновления при сравнении как с контрольной БД, так и со скриптом. Так что напрасно вы себя так мучаете. Не назвал бы я такой подход мучением. Вот каждый раз базы сравнивать на предмет, не пропустил ли где-то что-то - вот это мучение. По своему опыту сужу :) P.S. Особенно классно, если две базы различаются одной процедурой, которая в свою очередь отличается только одним символом (условно "+" на "-" поменяли), а експерт честно создает скрипт, который помимо отличающейся процедуры на много строк включает еще и перекомпиляцию всех зависимостей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 18:25:00 |
|
||
|
Обнуление генератора
|
|||
|---|---|---|---|
|
#18+
kdvMikhail Tchervonenko Если бы у FireBird было что то что позволяет напрямую хранить структуру базы и скрипты в SVN isql -x и закидывай в SVN. Такое тоже используем. Но только что б потом сравнить что изменили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2014, 18:34:20 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1563983]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
210ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 499ms |

| 0 / 0 |
