현재 프로젝트에는 약 620 개의 장고 모델이 있으며, 마이그레이션하는 데 약 1 시간이 걸립니다. . (마이그레이션 중에 gcloud의 1.2gigs와 8 코어 인텔 skylake의 12.x % 만 사용합니다.)이 메트릭은 pg와 python 2 (cpython)에 결합됩니다. 마이그레이션하는 동안 단 하나의 코어 만 사용된다고 가정합니다. [셀러리 프로세스는 100 % CPU + 50 %의 RAM을 사용합니다. 각 마이그레이션이 같은입니다병렬 django에서 마이그레이션을 실행 하시겠습니까?
,
class Migration(migrations.Migration):
initial = True
dependencies = [
('dist', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='model name',
fields=[
...
...
60 fields
...
...
],
options={
'abstract': False,
},
),
]
그들은 동일하지만 필드에 약간의 변화이다.
이 데이터베이스를 더 빨리 마이그레이션 할 수있는 방법이 있습니까? 병렬로 마이그레이션을 실행할 수 있습니까? 30 (내부 앱과 배포판) 이후의 이전은 서로 관련이 없으므로 이러한 마이그레이션을 병렬로 실행할 수 있습니까?
당신을 감사
처음 30 대 이후의 마이그레이션은 동일하고 서로 독립적이라고합니다. 마이그레이션 프로세스를 중단하면 중단 한 지점부터 계속 진행할 수 있습니다. 그러면 병렬로 적용하는 것이 의미가 있습니까? – Marty
그들은 ** 서로 의존합니다 ** Migration' 클래스의'dependencies' 필드를보십시오. 시스템이 설계된 방식 때문에 병렬로 마이그레이션을 적용하는 bulit-in 방법이 없습니다. 이러한 방법을 스스로 작성해야하며 대부분 프로세스에서 마이그레이션 시스템을 위반했을 수 있습니다. – rafalmp