Как развернуть приложение Force ID, когда все объекты ссылаются друг на друга
Когда я пытаюсь развернуть свое приложение, оно перестает работать из-за конфликта.
У меня есть 3 вещи:
- Страница Visualforce
- Верхний класс
- Пользовательский объект
Пользовательский объект переопределяет новую кнопку на страницу visualforce. Следовательно, когда я пытаюсь защитить его, возникает конфликт, и он терпит неудачу.
Страница visualforce ссылается на класс Apex. Следовательно, когда я пытаюсь спасти его первым, он терпит неудачу
Класс apex ссылается на пользовательский объект. Следовательно, когда я пытаюсь сперва сохранить его, происходит сбой.
2 ответа
У вас не должно возникнуть проблем, если вы развертываете все связанные объекты вместе, а не по одному. IDE Force.com может развертывать много файлов одновременно.
Я использовал этот метод для развертывания большого количества кода, который имеет пользовательские объекты с переопределением страницы apex и контроллерами, как вы упомянули.
Проблемы с курицей и яйцом. У вас круговая зависимость:) К сожалению, Salesforce достаточно умна в их разрешении, но в таких случаях не получается.
Вам потребуется 2 отдельных развертывания, и вы можете сделать это двумя способами (по крайней мере, я думаю, что они самые простые).
Опция 1
Закомментируйте все тело новой страницы VF и ссылку на расширение контроллера. Оставьте пустую оболочку:
<apex:page standardController="CustomObject__c">
</apex:page>
Это по-прежнему будет действительным "новым" переопределением страницы (хотя и странным), и вы сможете развернуть его.
- Разверните объект, класс и эту страницу-заглушку.
- Разверните страницу (или отредактируйте ее напрямую, потому что мы можем редактировать VF на производстве).
Вариант 2
Удалите "новое" переопределение, разверните все (это будет обычная страница VF), вручную измените свойства объекта (или разверните объект снова). Это более простой сценарий, в котором сложнее делать ошибки, потому что вы не редактируете код в реальной среде.
Вы можете использовать аналогичные приемы, если вам нужно развернуть страницу VF, встроенную в макет страницы.