대신 플라스크 -peewee 나는 일반 peewee 패키지를 사용하고 있습니다. 나는 테이블을 만들려면이 전화를해야한다고 알고플라스크 + 피 에이 : 테이블을 만들 장소는 어디입니까?
import os
# just extending the BaseFlask with yaml config reader
from . extensions.flask_app import Flask
# peewee's wrapper around the database
from playhouse.flask_utils import FlaskDB
db_wrapper = FlaskDB()
# define the application factory
def create_app(env):
app = Flask(__name__)
# load config depending on the environment
app.config.from_yaml(os.path.join(app.root_path, 'config.yml'), env)
# init extensions
db_wrapper.init_app(app)
# ...
: 여기
내가 데이터베이스 초기화 해요 방법 나는 테이블 작성 코드를 삽입 할from . models import User
db_wrapper.database.connect()
db_wrapper.database.create_tables([User])
하지만를 , 그래서 데이터베이스는 이미 초기화 된 것입니까?
# in app/__init__.py
# define the application factory
def create_app(env):
app = Flask(__name__)
# load config depending on the environment
app.config.from_yaml(os.path.join(app.root_path, 'config.yml'), env)
# init extensions
db_wrapper.init_app(app)
create_tables();
# rest of the initialization
def create_tables():
from . models import User
User.create_table(fail_silently=True)
가 여기에 그것을 할 괜찮은 :
편집
docs 보면서 나는 그런 User.create_table(fail_silently=True)
을 사용할 수 있다는 것을 발견? 아니면 거기에 더 좋은 방법/도구가 있습니까?
편집을 알아 냈다. 제발, 내 대답을 참조하십시오.
플라스크 스크립트를 사용하는 이유는 무엇입니까? 플라스크는 1 년 넘게 내장 된 CLI를 제공합니다. 단지'@ app.cli.command'로 커스텀 커맨드를 추가하십시오. – davidism
@davidism 나는 이것을 몰랐다. 나를 가리켜 주셔서 감사합니다. 나는 이것을 조사 할 것이다. – lexeme
테이블을 만든 후에 연결을 정리해야합니다! – coleifer