2017-02-13 9 views
1

Привет Я пытаюсь создать таблицу с использованием SQLAlchemy в Postgres, она обрабатывает все хорошо, но таблица не создается на моем сервере Postgres.Как создать таблицу в SQLAlchemy с помощью Postgres?

Мой models.py файл:

import sqlalchemy 
from sqlalchemy import Column, Integer, String 
from sqlalchemy import Table 
from sqlalchemy.ext.declarative import declarative_base 

Base = declarative_base() 

class MyTable(Base): 
    __tablename__ = 'myTable' 
    time_id = Column(String(), primary_key=True) 
    customer_id = Column(String()) 
    inventory_id = Column(String()) 

    def toJSON(self): 
     json = { 
      "time_id":self.alert_id, 
      "customer_id":self.customer_id, 
      "inventory_id":self.inventory_id, 
     } 
     return json 

Мой создатель файла:

from sqlalchemy.ext.declarative import declarative_base 
from models import MyTable 
from sqlalchemy import create_engine 

path="postgresql://postgres:[email protected]/test" 
engine = create_engine(path, echo=True) 
Base = declarative_base() 
Base.metadata.create_all(engine) 

Что я делаю неправильно?

ответ

3

Base класс отличается как для файла, вам нужно использовать класс Base, который используется для наследования, поэтому импортировать Base из моделей файла:

#creatorfile 
... 
from models import Base 

path="postgresql://postgres:[email protected]/test" 
engine = create_engine(path, echo=True) 
Base.metadata.create_all(engine) 

Удалить эту строку Base = declarative_base()

Смежные вопросы