27.04.2010, 11:36 | #1 |
Участник
|
Data Upgrade Scripts - когда они нужны?
Добрый день,
такой вопрос: нужны ли data upgrade scripts, если Upgrade-Checklist выполнен? Новые таблицы и новые поля в решении присутствуют. Пробежался по "How to write Data Upgrade Scripts", но ясного ответа не нашёл. Если upgrade scripts нужны, как их писать? Спасибо. |
|
27.04.2010, 12:28 | #2 |
Administrator
|
скрипты нужны тогда - когда Вам нужно обновить Ваши данные. Для чистой АХ - эту роль выполняет штатный checkList.
Если у Вас модифицированная АХ (в том смысле - что есть потребность при обновлении версии проходить джобиком по вашим данным) то Вы можете поступить двояко: 1. Составить список джобиков, которые должны обновить данные и при обновлении их все выполнить. Плюс такого подхода - скорость разработки. Минус - скорость обновления - в плане того, что во время обновления надо будет помнить список джобиков, в каком порядке и как их запускать, а также сидеть и ждать когда отработает долгий джоб 2. Модифицировать (создать свой) класс-наследник ReleaseUpdateDB. В нем задать последовательность исполнения джобиков до синхронизации (initPreSyncJobs) и после синхронизации (initPostSyncJobs)
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 27.04.2010 в 13:14. Причина: Очепятался |
|
|
За это сообщение автора поблагодарили: alex55 (1), dynamax (1). |
27.04.2010, 12:37 | #3 |
Участник
|
Цитата:
Цитата:
The following changes can be made without an upgrade script:
1. Change the name of a field 2. Change the name of a table 3. Add a field to a table with a default value for every field 4. Add/change relations 5. Add/change non-unique indexes 6. Add/change delete actions 7. Add/change/delete temporary table The following changes require an upgrade script: 1. Delete a table and save data 2. Delete a field and save data 3. Add/change unique indexes 4. Change a non-unique index into a unique index 5. Restructure where data is stored. For example, moving data from one field to another 6. Correct old data inconsistencies 7. Populate new tables with existing data 8. Populate new fields with existing data or a default value that is different from the default value for the data type |
|
|
|