InstallSchema와 InstallData의 차이점


11

InstallSchema와 InstallData의 차이점을 자세히 알고 싶습니다.

나는 또한 사용할 수 있습니다 때 알아야 InstallSchema.php하고 InstallData.php?


그래도 문제가 계속되면 알려주십시오. 그렇지 않으면 답변을 수락하여 다른 사용자의 도움을
받으십시오

답변:


19

새 모듈을 설치할 때 먼저 InstallSchema 및 InstallData 모두 메소드가 호출됩니다.

스키마 설정 스크립트는 데이터베이스 스키마를 변경하고 필요한 데이터베이스 테이블을 작성하거나 변경합니다. 모듈을 설치하는 경우 Setup \ InstallSchema :: install ()이 실행됩니다.

즉, 구조가있는 새 테이블과 필드를 만듭니다.

InstallData 설정 스크립트에는 데이터베이스에 삽입해야하는 항목이 포함되어 있습니다. 기본적으로 Magento와 함께 제공되는 속성, CMS 페이지, 다양한 기본 그룹 및 역할은 모두 데이터 설정의 예입니다.

데이터 설정은 스키마 설정 후에 실행되며 비슷한 방식으로 작동합니다.

결론에 관해서는, 둘 다의 주요 차이점은 InstallSchema가 테이블과 그 구조를 만드는 데 사용된다는 것입니다. InstallData는 테이블에 데이터를 삽입 / 추가하는 데 사용됩니다.


수단에 대한 추가 속성 InstallData 사용 Customer, Qoute, Order, Catalog, Product, Category.
Ketan Borada

글쎄, 당신은 부분적으로 맞습니다. InstallData는 속성의 데이터를 삽입하는 데 사용됩니다 (속성 값) installSchema에 의해 "슬라이더"라는 테이블을 만들었습니다. 이제 각 슬라이드를 삽입해야합니다. 그런 다음 InstallData 파일을 사용하고 각 슬라이드의 데이터를 정의해야합니다 . 말이 되나요?
Manthan Dave

8

다음과 같은 차이점이 있습니다.

InstallSchema

InstallSchema.php의 목적은 데이터베이스에 새로운 테이블 / 속성 / 필드를 생성하는 것입니다

InstallData

InstallData.php의 목적은 데이터베이스에 데이터 / 값을 삽입하는 것입니다.


6

Magento2 는 모듈의 설치 프로세스로만 실행되는 데이터베이스와 관련된 초기 작업에 네 가지 유형 의 파일을 사용 합니다 (이 파일은 존재하지 않는 한 번만 실행 됨). 그 파일들은 다음과 같습니다

  1. InstallSchema.php
  2. InstallData.php
  3. UpgradeSchema.php
  4. UpgradeData.php

이 파일들은 모두 Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setupmagento 모듈의 네임 스페이스에 존재 합니다. 여기에 모든 파일을 사용하는 방법에 대해 설명했습니다.

InstallSchema.php

이 파일은 모듈 등록 직후에 실행됩니다 (모듈 및 해당 버전 항목이 테이블에 입력 된 직후-> setup_module). 이 파일은 열 속성이있는 테이블을 데이터베이스에 작성하여 나중에 새로 설치된 모듈에서 사용합니다.

InstallData.php

이 파일은 이후에 실행 InstallSchema.php됩니다. 새로 작성된 테이블 또는 기존 테이블에 데이터를 추가하는 데 사용됩니다.

UpgradeSchema.php

이 파일은 모듈과 함께 제공되며 magento에 해당 모듈의 이전 버전이 이미 설치되어있는 경우에만 실행됩니다 (이전 버전의 항목이 테이블에 있음을 의미합니다-> setup_module). 모듈과 관련된 테이블을 조작하는 데 사용됩니다 (테이블 스키마 의미 컬럼 속성을 변경하고 해당 테이블에 새 컬럼을 추가하는 데 사용됨을 의미).

UpgradeData.php

이 파일은 이후에 실행됩니다 UpgradeSchema.php. 개념과 동일 InstallData.php하지만이 파일을 사용하면 모델 파일을 사용하지 않고도 데이터베이스 내용을 변경 / 변경할 수 있습니다. 이 파일을 사용하여 동일한 내용을 데이터베이스에 새 내용을 추가 할 수도 있습니다 InstallData.php. 그러나 UpgradeSchema.phpmagento에 해당 모듈의 이전 버전이 설치되어있는 경우에만 실행됩니다.

내가 말했듯 이이 파일을 한 번만 실행 하므로이 파일의 기본 용도는 모듈이 존재하는 동안 모듈에서 사용 된 모듈에 대한 테이블 및 데이터를 준비하는 것입니다.

참고 : Magento는이 파일을 사용하여 Magentos 기능에 사용되는 테이블을 생성하고 cms_contents, customer_groups & attributes, Products_Types & attributes, Taxation groups 등과 같은 내용을 추가합니다.


4

2 사이에는 기본적인 차이가 있습니다

InstallSchema 데이터베이스 구조를 설정하기 위해 모듈을 설치할 때 실행됩니다.

동안은 InstallData모듈이 데이터베이스 테이블의 데이터를 초기 설치시 실행됩니다

이 질문을 취소하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.