SQLAlchemy: создание таблиц из существующих классов с использованием другого движка

#python #sqlalchemy

#python #sqlalchemy

Вопрос:

У меня уже есть движок, определенный для моей базы данных postgres. Я хочу создать новый движок с использованием sqlite и использовать те существующие классы, которые у меня уже есть.

Я настроил его так для postgres:

 conn_url = '<connection_string>'
engine = create_engine(conn_url, echo=False)
Session = sessionmaker(bind=engine)
Base = declarative_base()


class SomeTable(Base):
    __tablename__ = 'some_table'
    id = Column(Integer, primary_key=True, autoincrement=True)
    some_field = Column(String(100))
  

Как мне использовать SomeTable такой движок sqlite engine = create_engine('sqlite:///') ?

Ответ №1:

Все, что мне нужно было сделать, это

 import SomeTable from models

engine = create_engine('sqlite:///')
SomeTable.metadata.create_all(engine)
  

Я думал, что мне придется делать это для каждой модели, которая у меня есть, но она отлично работает с любой моделью.