[php] SQL을 사용하지 않고 Magento 설정 스크립트의 ALTER TABLE



0 Answers

모든 Magento 업데이트에 SQL이 포함되어서는 안된다는 생각은

  1. Magento Objects는 데이터베이스 / 데이터 저장소 계층의 추상화를 제공합니다.

  2. Magento 팀이 개체가 데이터 저장소와 상호 작용하는 방식을 변경하고 업데이트가 계속 작동하도록 보장하는 추상화를 사용하여 Magento를 업데이트해야합니다 (핵심 팀이 Object 메서드에서 암시 한 원래의 "계약"을 유지 관리한다고 가정)

따라서 문제는 ALTER TABLE 문이 직접 데이터 저장소를 변경 한다는 것입니다. 위의 두 가지 아이디어에만 독점적으로 가입하는 경우 데이터 저장소를 변경해서는 안됩니다. (EAV 모델을 독점적으로 사용하여 열 또는 인덱스를 추가하는 경우 설정 리소스를 사용하여 변경 내용을 관리하고 Magento의 인덱싱을 수락 함).

일반적인 Magento 핵심 기능 (제품, 리뷰 등)을 변경하거나 추가하는 경우 업그레이드 중에 신중하게 관리하려는 경우가 아니면 데이터베이스 구조를 직접 변경하지 마십시오.

새로운 개체와 기능을 만들려면 설치 리소스를 통해 테이블을 만들고 변경하려는 모든 SQL을 사용하십시오. 설치 프로그램 / 업그레이드 파일을 보면 핵심 Magento 팀이 직접 수행한다는 것을 알 수 있습니다.

Question

조나단 데이가 말한다.

"업데이트는 SQL 명령의 형식이어야합니다". Magento의 구성 구조를 통해 실행할 수없는 DDL 또는 DML 구문을 발견하지 못했습니다.

(질문 : 어떻게 구성 변경 사항을 개발 환경에서 프로덕션 환경으로 마이그레이션 할 수 있습니까? )

이 방법으로 테이블에 열 또는 인덱스를 추가 / 수정 / 제거하는 것이 가장 좋지만 SQL을 사용하지 않는 방법을 알고 싶습니다. 심지어 가능할까요?

또한 SQL에서만 수행 할 수있는 다른 조치는 무엇입니까?






Related