반응형
빈 데이터베이스 파일을 만드는 모듈을 작성했습니다.
def create_database():
engine = create_engine("sqlite:///myexample.db", echo=True)
metadata = MetaData(engine)
metadata.create_all()
그러나 다른 함수에서 myexample.db
데이터베이스를 열고 해당 테이블이 아직없는 경우 테이블을 만들고 싶습니다.
내가 만들 첫 번째 후속 테이블의 EG는 다음과 같습니다.
Table(Variable_TableName, metadata,
Column('Id', Integer, primary_key=True, nullable=False),
Column('Date', Date),
Column('Volume', Float))
(처음에는 빈 데이터베이스이므로 테이블이 없지만 이후에 더 많은 테이블을 추가 할 수 있습니다. 그게 제가 말하려는 것입니다.)
어떤 제안?
해결 방법
나는 내가 무엇을하려고하는지 알아낼 수 있었다. engine.dialect.has_table (engine, Variable_tableName)
을 사용하여 데이터베이스 내부에 테이블이 있는지 확인했습니다. 만약 그렇지 않은 경우 데이터베이스에 테이블 생성을 진행합니다.
샘플 코드 :
engine = create_engine("sqlite:///myexample.db") # Access the DB Engine
if not engine.dialect.has_table(engine, Variable_tableName): # If table don't exist, Create.
metadata = MetaData(engine)
# Create a table with the appropriate Columns
Table(Variable_tableName, metadata,
Column('Id', Integer, primary_key=True, nullable=False),
Column('Date', Date), Column('Country', String),
Column('Brand', String), Column('Price', Float),
# Implement the creation
metadata.create_all()
이것은 내가 찾고있는 것을주는 것 같습니다.
참조 페이지 https://stackoverflow.com/questions/33053241
반응형
'파이썬' 카테고리의 다른 글
파이썬 AttributeError : 'int'개체에 'isdigit'속성이 없습니다. (0) | 2020.11.14 |
---|---|
파이썬 Python urllib 대 httplib? (0) | 2020.11.14 |
파이썬 Mapping dictionary value to list (0) | 2020.11.14 |
파이썬 How to quickly parse a list of strings (0) | 2020.11.14 |
파이썬 데이터 프레임에서 word_tokenize를 사용하는 방법 (0) | 2020.11.14 |
댓글