2012-12-07 3 views

답변

7

아직 폴더를 삭제 한 트랜잭션을 압축하지 않은 경우 폴더를 복구 할 수 있습니다.

먼저 "Undo" tab on the parent folder, in the ZMI을 사용하십시오. 작동하지 않을 수도 있고 시스템의 다른 많은 것들이 변경되어 (일반적으로 카탈로그) 모든 변경 사항이 효과적으로 롤백 될 수 있습니다.

다음 단계는 좀 더 복잡하고 복잡합니다. 그런 다음 작업 내역의 특정 지점에서 데이터베이스의 상태를 보여줄 래퍼가있는 ZODB (Object Database)를 엽니 다. 이렇게하기 위해서는 Zope 서버 설정을 수동으로 편집해야합니다. 나는 written up the steps in a blog post이지만 그 단계는 조금 구식입니다.

현대 Plone 빌드 아웃에서는 zc.beforestorage 난을 빌드 아웃에 추가해야하고 enable-product-installation Zope 설정을 False으로 전환해야합니다. beforestorage 래퍼를 사용하여 데이터베이스가 읽기 전용 제품 설치 코드가 시작 실패의 결과로 데이터베이스에 커밋을 시도 할 수 있습니다 :

[instance] 
eggs += 
    zc.beforestorage 
zope-conf-additional += 
    enable-product-installation False 

을 buildout을 재건 후와 관련된 zope.conf 파일을 열 필요 너의 인스턴스. 일반적으로 bin/instance으로 서버를 시작하면 해당 파일은 parts/instance/etc/zope.conf에 있습니다. bin/의 스크립트는 부품 이름 (이 예제에서는 instance)과 일치합니다.

는 ZODB 기본 데이터베이스 정의하는 부분을 찾습니다

<zodb_db main> 
    # Main database 
    cache-size 10000 

    # Blob-enabled FileStorage database 
    <blobstorage> 
     blob-dir /path/to/var/blobstorage 
     <filestorage> 
     path /path/to/var/filestorage/Data.fs 
     </filestorage> 
    </blobstorage> 
    mount-point/
</zodb_db> 

당신은 그 선언에 beforestorage 래퍼를 추가 할 필요가 :

<zodb_db main> 
    # Main database 
    cache-size 10000 

    %import zc.beforestorage 
    <before> 
    before 2012-12-01T12:00:00 

    # Blob-enabled FileStorage database 
    <blobstorage> 
     blob-dir /path/to/var/blobstorage 
     <filestorage> 
     path /path/to/var/filestorage/Data.fs 
     </filestorage> 
    </blobstorage> 

    </before> 

    mount-point/
</zodb_db> 

참고가의 before <iso timestamp> 라인; 인스턴스를 시작하면 해당 타임 스탬프와 동일하게 사이트가 표시됩니다. 폴더를 삭제할 때 가까이에 하나를 선택하십시오. 이제 다시 (ZMI를 사용하여) .zexp 파일로 내보낼 수 있습니다. zope.conf 파일의 변경 사항을 실행 취소하고 다시 시작한 다음 복구 된 폴더를 가져옵니다.

관련 문제