2017-11-15 8 views
0

내 Extbase CommandController에서 8 개 테이블의 MySQL 덤프를 수행하는 것이 가장 좋습니다. Extbase Repository는 하나의 특정 테이블 만 처리하기 때문에 일반적인 mysql 쿼리를 실행하는 위치가 잘못되었습니다.TYPO3 일반적인 MySQL 쿼리를 처리하는 Extbase 클래스

여러 테이블에 영향을주는 원시 mysql 문을 어느 클래스에 넣어야합니까?

+0

엔터티에 전혀 바인딩되지 않은 ExportController와 ExportController에서 호출 할 수있는 덤프 메서드를 구현하는 AbstractRepositories는 어떻습니까? 그 외, 나는 TYPO3 \ CMS \ Extbase \ Persistence \ Generic \ Query의 확장을 TYPO3 \ CMS \ Extbase \ Persistence \ Repository 대신 구현한다고 생각합니다. – j4k3

+0

@cephei_vv Extbase 어플리케이션의 목적은 무엇입니까? Extbase는 도메인 주도 설계 및 우려 사항 분리 원칙을 따릅니다. 나는 "mysql 덤프"를 만드는 방법에 대해 이야기하고있다. 아마도 "mysqldump"라는 OS 도구를 직접 사용하면된다. "사용자 인터페이스에 임의의 양의 데이터베이스 테이블을 나열하는"것에 대해서는 다른 이야기이다. –

+0

@ oliver-hader 내 CommandController는 API에서 새 데이터를 가져 오기 전에 몇 가지 테이블을 백업합니다. 그게 내가 한 일이야. 나는 BackupService를 만들고'mysqldump'를 실행하기 위해'exec()'를 사용했다. –

답변

0

내 문제가 해결되었습니다.

BackupService 클래스를 만들고 mysqldump 명령을 exec()과 함께 실행했습니다.