본문 바로가기

엉터리 개발 이야기/Superset

[Superset][flask-migrate] Model 추가하기

반응형

Superset에서 모델 추가해서 관리하는 방법


1. 모델이 정의되어 있는 파일을 만든다.

class RestApi(Model, BaseDatasource):

"""An ORM object for SqlAlchemy table references"""

type = 'restapi'

column_class = RestApiColumns
parameter_class = RestApiParameter

__tablename__ = 'restapis'
#__table_args__ = (UniqueConstraint('restapi_id', 'restapi_name'),)

id = Column(Integer, primary_key=True)
rest_api_name = Column(String(250))
rest_api_url = Column(String(1000))
rest_api_header = Column(String(1000))
rest_api_parameter = Column(String(1000))
rest_api_method = Column(String(10))
rest_api_body = Column(String(1000))
rest_api_auth_type = Column(Enum('Basic', 'JWT', name='auth_types'))
rest_api_auth_username = Column(String(32))
rest_api_auth_password = Column(String(32))
rest_api_auth_token = Column(String(512))

user_id = Column(Integer, ForeignKey('ab_user.id'))
owner = relationship(
sm.user_model,
backref='restapis',
foreign_keys=[user_id])

baselink = 'restapimodelview'


2. migrate 해서 version 을 만든다.

python superset db migrate

version 파일이 만들어 졌는지 확인한다.


3. DB에 적용한다.

python superset db upgrade


끝!


※ 추가로 fabmanager와 db upgrade로 database 구성 안하고 export 된 걸로 했을 경우 추가된 model 적용하는 방법

python superset db stamp 이전버전

python superset db upgrade 

이전 버전으로 명시한 이후부터 upgrade가 된다.


끝~

반응형