이 database.yml 파일에서 &, <<, *의 의미는 무엇입니까?
지금까지는 명시 적으로 호출 된 각 매개 변수와 함께 database.yml 만 사용했습니다. 아래 파일에서 이해할 수없는 일부 문자를 사용합니다. 각 줄과 기호 (&, *, <<)는 무엇을 의미합니까?이 파일을 어떻게 읽습니까?
development: &default
adapter: postgresql
database: dev_development
test: &test
<<: *default
database: test_test
cucumber:
<<: *test
production:
<<: *default
database: test_production
&
(귀하의 예제에서 마크 노드의 별명 &default
별명 "기본"으로 개발 노드)와 *
참조 이름이 "기본"으로 별칭 노드입니다. 은 <<:
해당 노드의 내용을 삽입합니다.
여기에서 YAML 사양을 인용하십시오.
반복 노드 (오브젝트)는 먼저 앵커 (앰퍼샌드- "&"로 표시)로 식별 된 다음 별명 (별표- "*"로 표시)으로 지정됩니다.
당신의 모범의 일부
test: &test
<<: *default
실제로 확장
test: &test
adapter: postgresql # from the "default" alias
database: dev_development # from the "default" alias
동시에 "test"노드를 별명 "test"로 사용할 수있게하십시오. 자세한 내용 은 YAML 사양 -2.2 구조 를 참조하십시오 (또는 심지어 moar docs ++가 필요한 경우 : 3.2.2.2. 앵커 및 별칭 )
이러한 앵커 노드로 라벨링 () 태그를 참조 노드 레퍼런스 (*)과 연관 배열 병합 (<<) 대표 - 위키을
온라인으로 직접 사용해보십시오 .
&default
나중에 사용할 수 있도록이 속성 집합에 이름을 레이블로 지정했음을 의미합니다.
<<: *default
기본으로 분류 된 그룹의 모든 속성을 포함 함을 의미합니다.
동일한 설정을 반복해서 반복하지 않고도 환경을 참조 할 수있는 방법입니다 (건조).
test: &test
<<: *default
&test
특정 설정에 대한 참조를 만듭니다.
<<: *default
테스트에 기본 설정을 사용한다고 말합니다.
cucumber:
<<: *test
이제 우리는 cucumber
의 설정을 사용하고 싶다는 것을 알고 있습니다 test
.
간단히 말해서이 개념은 기본 클래스와 파생 클래스와 유사합니다.
기본 클래스 템플리트에서 '&'로 모든 공통 세부 사항을 언급하므로이 필드가 필요한 다른 yaml 섹션을 확장하는 데 사용할 수 있습니다. 이제이 '기본 클래스'유형 구조의 구성 값으로 구성된 다른 섹션을 작성할 때 기본 클래스 앵커와 함께 '*'를 사용하십시오 (예 : '&'로 시작하는 섹션). 실제로 'base class'섹션을 배치하기 위해 '<< :'을 yaml 개념으로 사용하므로 나중에 재정의 할 수 있습니다.
vsm:
stub_nsx_mgr: &MGR_CTRL_STUB
username: ADMIN
password: $DEFAULT_PASSWORD
deployment: ovf
build: $PR_BUILD
vmnics:
- network: $MANAGEMENT_NETWORK_0
vc: vc_0
ovf_options:
- --diskMode=$DISKMODE
- --deploymentOption=$DEPLOYMENT_OPTION
$MGR_0:
<<: *MGR_CTRL_STUB
ovf_path_regex: 'appliance.*\.ovf'
ovf_options:
- --diskMode=$DISKMODE
- --deploymentOption=$DEPLOYMENT_OPTION
$CTRL_0:
<<: *MGR_CTRL_STUB
ovf_options:
- --diskMode=$DISKMODE
- --allowExtraConfig
$CTRL_1:
*MGR_CTRL_STUB
그러나 확장 필드를 무시하지 않으려면 '<< :'를 건너 뛸 수 있습니다.
참고URL : https://stackoverflow.com/questions/6651275/what-do-the-mean-in-this-database-yml-file
'development' 카테고리의 다른 글
R에 지정된 열 이름으로 빈 데이터 프레임을 만드는 방법은 무엇입니까? (0) | 2020.06.19 |
---|---|
C에서 통화 이동 기능 (0) | 2020.06.19 |
서버에 업로드하기 전에 JavaScript로 클라이언트 측 크기 조정 (0) | 2020.06.19 |
두 개의 jQuery 결과를 결합하는 방법 (0) | 2020.06.19 |
Android의 원시 리소스 대신 자산을 언제 사용해야합니까? (0) | 2020.06.19 |