Если я правильно понимаю ваш вопрос, то генератор не нужно выключать. При создании записи (экземпляра модели) ей присваивается внутренний id и статус фантомной, т.е. не существующей на сервере.
Когда Store отправляет записи на сервер, они передаются с фантомным id. Нормальный протокол со стороны сервера, в цикле по каждой записи:
- Сохраняем переданный фантомный id в переменную
- Пишем запись в базу
- Создаём объект для возврата
- Реальный сгенерированный базой id возвращаем в поле idProperty
- Старый фантомный id возвращаем в поле clientIdProperty
- Сохраняем возвратный объект в массив для возврата и идём к следующей записи
Такой же механизм будет использоваться и для отдельных экземпляров моделей, без Store. Смотрите документацию:
http://docs.sencha.com/extjs/5.1/5.1...ientIdProperty
Ещё могу предложить посмотреть пример (более/менее) правильной реализации CRUD:
https://github.com/nohuhu/HTML5-Star...Direct/Base.pm. Я над этим проектом потихоньку работаю в свободное время. Это не PHP, но при желании разберётесь. ;)