내 프로덕션 서버에서 실수로 내 응용 프로그램 중 하나에서 마이그레이션 디렉토리를 삭제했습니다. 여러 사람이 응용 프로그램에서 작업하기 때문에 응용 프로그램을 만들 때 로컬에서 마이그레이션하지 않고 모델 변경을 추진하고 프로덕션 서버에서 마이그레이션을 수행 한 다음 마이그레이션을 수행했습니다. 이전에 마이그레이션 문제가 있었기 때문에이 작업을 수행했으며 이것이 좋은 해결책 일 수 있다고 생각했습니다. 마이그레이션 폴더의 로컬 복사본이 없기 때문에 나는 영원히 사라질 것을 두려워합니다. 내 질문은 이것이다. Webfaction에서 phpPgAdmin에 액세스 할 수 있으며 데이터베이스에는 django_migrations 테이블이 있습니다. 한 가지 해결책은 최신 마이그레이션을 찾고, 예를 들어 0009_migration.py라고 말하면서, 향후 해당 응용 프로그램에서 모델을 변경하면 새로운 마이그레이션 파일 인 0010_migration.py의 이름을 바꾸는 것보다 간단합니다. 그렇게하면 간단하게 마이그레이션을 실행할 수 있으며, 마이그레이션이 아직 실행되지 않은 경우에만 0010_migration.py로 간주됩니다. 그러나 호기심에서 벗어나 PostgreSQL 데이터베이스를 살펴보고 django_migrations 테이블의 파일에있는 이전 기록에서 앱 마이그레이션 디렉토리에 이전 파일을 만듭니다.삭제 된 장고 마이그레이션 복구
나는 이것이 물어 간단한 방법 생각 "이 migrations.py 파일로 엔지니어 django_migrations 테이블 행을 반전 할 수있는 방법이 있나요을?"여기 django_migration 테이블 내가 PostgreSQL을에있는 행과 제가의 이미지입니다 파일을 다른 명령으로 보길 원할 것입니다.
장고 마이그레이션
class Migration(migrations.Migration):
dependencies = [
('portfolio', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='project',
name='contact_form',
field=models.BooleanField(default=False),
),
]
PostgreSQL의 django_migrations 테이블 행
진지하게, 미래에 이것을하지 마십시오. 마이그레이션은 코드 기반의 일부이며 버전 제어가 필요합니다. –
나는 다니엘, 우리의 어두운 과거의 일부분에 동의하며, 우리는 모두 실수에서 배웠으며,이 경우에도 여전히 그 모습을보고있다. – JBT