2010-07-31 2 views
0

테이블에 url 열을 추가했는데 이제 sqlalchemy가 'unknown column url'을 말합니다.sqlachemy가 mysql 테이블을 만들었지 만 테이블에 'unknown column url'이 수정되었습니다.

왜 테이블을 업데이트하지 않습니까?

세션을 만들 때 설정이 있어야합니까?

내가 뭐하는 거지 :

Session = sessionmaker(bind=engine) 

내가 놓친 거지 뭔가가 있나요?

파이썬 코드에서 내 테이블 구조에 추가 한 속성이없는 테이블을 업데이트하려고합니다.

답변

1

SQLAlchemy가 스키마 이전을 잘 지원하는지 모르겠습니다. (마지막으로 터치 한 이후에는 없었습니다.)

두 가지 옵션이 있습니다.

  1. 테이블을 수동으로 지정하지 마십시오. autoload 기능을 사용하여 SQLAlchemy가 데이터베이스의 열을 자동으로 읽도록하십시오. 이것은 작동하는지 테스트해야하지만 일반적으로 아이디어를 얻습니다. DRY.
  2. 시도 SQLAlchemy migrate.
  3. 모델 사양을 변경 한 후 수동으로 테이블을 업데이트하십시오.
1

새로운 열을 추가하는 경우 안전하게 metadata.create_all(bind=engine)을 사용하여 클래스 정의에서 스키마를 업데이트 할 수 있습니다.

그러나 SQLA 정의에서 제거 할 경우 기존 열을 수정하거나 DB 스키마에서 열을 제거하지 않습니다.

관련 문제