15.10.2012, 11:14 | #1 |
Модератор
|
AX 2012 - Old слои
Что есть сейчас: PROD \ DEV инстансы AX 4.0 / 2009 на которых с разной периодичностью (девелоперские чаще, раз в месяц, рабочие реже, раз в два-три месяца) слои с модификациями переносятся в \Old
Зачем это надо: - Быстро найти что менялось за последние пару недель в определенных модулях \ объектах - Отследить "неавторизованные" правки в AOT (есть упертые консультанты у которых доступ в силу многих причин быстро отобрать не получается) - И т.д. Что есть в 2012: - Baseline, в который можно слить AOD файлы в процессе апгрейда (операция как я понимаю разовая) - TFS, использовать который для небольшой команды (4-5 человек) считаю в некоторым смысле оверкиллом Вопрос: есть еще какие-то варианты (Baseline судя по всему вообще не вариант) ?
__________________
-ТСЯ или -ТЬСЯ ? |
|
15.10.2012, 11:46 | #2 |
Участник
|
Baseline - это эквивалент OLD, поэтому если устраивает олд, то и базелайн устроит
p.s. TFS - не overkill, он и в 2009 есть, если чо |
|
|
За это сообщение автора поблагодарили: Vadik (0). |
15.10.2012, 11:58 | #3 |
Модератор
|
Цитата:
Цитата:
TFS - не overkill, он и в 2009 есть, если чо
__________________
-ТСЯ или -ТЬСЯ ? |
|
15.10.2012, 12:26 | #4 |
Участник
|
AxUtil умеет экспортировать вроде бы конкретный слой в файл модели.
|
|
15.10.2012, 12:30 | #5 |
Участник
|
Еще можно baseline хранить в xpo файле.
Создаем проект, используем фильтр для заполнения его элементами измененными на конкретном слое, и экспортируем этот проект в файл (только изменения из конкретного слоя) Потом сторонним инструментом сравниваем с таким же файлом из "baseline". |
|
|
За это сообщение автора поблагодарили: Vadik (1). |
15.10.2012, 13:24 | #6 |
Участник
|
Цитата:
Сообщение от Vadik
Мне надо регулярно делать снэпшот приложения (скорее определенного слоя) для последующей сверки. Буду признателен если подскажете как я могу в AX 2012 слить слой (не AOD файл) в Baseline
Спасибо, я в курсе. На счет overkill \ не overkill есть разные мнения. В любом случае, TFS на 100% процентов как я понимаю ни одного пункта из озвученных не решает. Или таки решает ? это не разовая операция, как вы предположили. TFS на 146% решает ваши задачи |
|
15.10.2012, 19:19 | #7 |
Модератор
|
Ну так параметры для запуска AxUtil чтобы в 2012 слить текущий рабочий слой (для определенности, USR) куда-то (для определенности - в Old, чтоб в результате на него сравнение слоев можно было натравить) - подскажите, будьте добреньки ?
Цитата:
TFS на 146% решает ваши задачи
__________________
-ТСЯ или -ТЬСЯ ? |
|
15.10.2012, 19:20 | #8 |
Модератор
|
Цитата:
Сообщение от kashperuk
Еще можно baseline хранить в xpo файле.
Создаем проект, используем фильтр для заполнения его элементами измененными на конкретном слое, и экспортируем этот проект в файл (только изменения из конкретного слоя) Потом сторонним инструментом сравниваем с таким же файлом из "baseline". Ясно, спасибо всем поучавствовавшим - будем искать (с)
__________________
-ТСЯ или -ТЬСЯ ? |
|
15.10.2012, 21:15 | #9 |
Участник
|
Цитата:
X++: FilePath filePath; ServerName serverName; str baselineDbName; ClrObject filesList; str errorMsg; Microsoft.Dynamics.AX.Framework.Tools.ModelManagement.AxUtilConfiguration config; Microsoft.Dynamics.AX.Framework.Tools.ModelManagement.AxUtilContext context; Microsoft.Dynamics.AX.Framework.Tools.ModelManagement.AxUtil axutil; // read connection info, init context/axutil, cleanup baseline this.init(); //import model file to baseline config = new Microsoft.Dynamics.AX.Framework.Tools.ModelManagement.AxUtilConfiguration(); config.set_Database(baselineDbName); config.set_Server(serverName); config.set_CreateDB(false); config.set_AOSConfiguration(""); config.set_CreateParents(true); filesList = config.get_ImportFiles(); filesList.Add(filePath); axutil.Import(context, config); // check errors errorMsg = this.getContextErrors(); if (!errorMsg) { info(strFmt("@SYS315320","@SYS4820")); } else throw error(errorMsg);
__________________
The 50-50-90 rule: Any time you have a 50-50 chance of getting something right, there’s a 90% probability you’ll get it wrong. |
|
|
За это сообщение автора поблагодарили: Vadik (1), Logger (1). |
16.10.2012, 03:07 | #10 |
Участник
|
Вроде бы такой возможности нет, если конечно не допустить упрощение, что в одном слое строго одна модель
А если по теме, делаете бекап базы, и в дальнейшем этот бекап подкладываете как baseline. При этом появляется возможность быстро сравнивать различия используя возможности построения проекта обновления т.е. один в один с тем что было раньше |
|
|
За это сообщение автора поблагодарили: Vadik (1), Logger (1). |
16.10.2012, 07:54 | #11 |
Участник
|
Цитата:
Сообщение от trud
Вроде бы такой возможности нет, если конечно не допустить упрощение, что в одном слое строго одна модель
А если по теме, делаете бекап базы, и в дальнейшем этот бекап подкладываете как baseline. При этом появляется возможность быстро сравнивать различия используя возможности построения проекта обновления т.е. один в один с тем что было раньше axutil list /layer:usr Выведет на экран все модели в этом слое. axutil export /model:<названия моделей из перечня после первой команды> Обычно, на самом деле, моделей, которые надо экспортировать, будет одна или две, так что не должно быть проблемой. |
|
16.10.2012, 08:59 | #12 |
Участник
|
Цитата:
К примеру у вас 2 модели, В модели N1 содержится поле в таблице, при этом сама таблица в модели N2. если вы будете грузить вначале модель N1, то она вообще не загрузится или загрузится с созданием виртуальной модели. У меня вот никак руки не дойдут проверить |
|
16.10.2012, 13:09 | #13 |
Участник
|
Вроде есть ключ, создавать orphaned объекты или нет, но могу ошибаться.
впрочем это легко проверить Аналогичная проблема возникнет если удалить родительскую модель. |
|
16.10.2012, 13:29 | #14 |
Модератор
|
Идея подкупает своей простотой, буду рассматривать ее как крайний вариант (БД в 4.0 сейчас к терабайту подбирается, накладно как-то столько сторэджа под Old отводить - собственники могут не понять). Скорее уже ETL накропаю простенький между продуктивом и Baseline
__________________
-ТСЯ или -ТЬСЯ ? |
|
16.10.2012, 22:59 | #15 |
Участник
|
всю базу не надо копировать, достаточно экспортнуть и импортнуть ModelStore с помощью той же axutil
ModelStore - это вся логика приложения, аналог всех AOD с метками в 2009 Занимает порядка 1-2Гб (в выгруженном файле, в БД порядка 5 Гб) |
|
|
За это сообщение автора поблагодарили: Logger (1). |
17.10.2012, 08:51 | #16 |
Участник
|
Уточню только, что файлы приложения вынесли в отдельную БД в версии R2.
|
|
|
За это сообщение автора поблагодарили: Vadik (1), shogel (1). |
Теги |
ax2012, layer, model, как правильно |
|
|