blobdir에 저장되어있는 서버에 파일 (PDF 4MB)을 업로드했습니다. (zodb data.fs)에 속성이 첨부 된 MYCLASS 객체를 참조하십시오. MYCLASS 개체를 삭제하면 개체가 삭제되지만 blobdir의 파일 (PDF 4MB)은 삭제되지 않습니다. 개체가 삭제 된 후 해당 BLOB 파일을 삭제하는 방법?개체를 삭제 한 후 blobdir에서 파일 (blob)을 제거하는 방법 양식 zodb (data.fs)
0
A
답변
0
파일은 과거 ZODB 개정판의 일부입니다. 히스토리 리비전을 제거하려면 팩 ZODB 데이터베이스가 필요합니다.
귀하의 데이터베이스를 얼마나 멀리 포장 할 것인지는 귀하에게 달려 있습니다. 이전 버전을 제거하면 더 이상 해당 상태로 데이터베이스를 롤백 할 수 없습니다.
ZODB를 포장하는 방법은 설정에 따라 다릅니다. ZEO를 사용하는 경우 ZEO 서버에 저장소를 패키징하라는 명령 줄 도구 (zeopack
)가 있습니다.
프로그래밍 방식으로 설정할 수도 있습니다. db.pack()
method와 예를 들어, 당신의 피라미드 앱에서 :
import time
from pyramid_zodbconn import get_connection
db = get_connection(request).db()
db.pack(days=7)
은 내가 ZODB를 포장하지만, 지난 주에 대한 기록을 유지하기 위해
days
매개 변수를 사용했다.
t
(신기원 이후의 UNIX 초)을 사용하여 압축 할 특정 시점을 지정하거나 이전 개정을 모두 제거하도록 생략 할 수도 있습니다.
blob을 참조하는 개정이 제거되면 blob 파일이 즉시 제거되지 않습니다. 작업을 되돌려 야 할 경우에 대비하여 백업 할 때마다 팩을 팩할 때마다 생성됩니다. 미래의 팩 작업은 이전 백업을 새 백업으로 대체하고 모양이 양호한 지 확인합니다.