2017-07-14 12 views
-2

のすべての出口でデータベース内のデータを削除しています。 http://flask-sqlalchemy.pocoo.org/2.1/quickstart/#quickstartのクイックスタートページに記載されている手順に従っています。 しかし、autoflush:falseとautocommit:falseを実行しても、ターミナルを終了するたびにデータベースが消去されます。この設定後FlaskのsqlAlchemyは、端末

app = Flask(__name__) 
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' 
db = SQLAlchemy(app, session_options={"autoflush":False,"autocommit":False}) 

はまだたびに私は、DBのデータ が消去されますフラスコ端子を終了します!

フラスコのターミナルを出るたびに、Userテーブル全体が消えてしまいます。

PS:フラスコと角度トークンベースの認証を持つブログは、非常に感謝しています:) SQLAlchemyセットアップと一緒に!

+2

作成したオブジェクトをセッションおよびコミット済みセッションに追加しましたか?コード全体を投稿できますか?アプリケーションの実行中にデータがデータベースに書き込まれているかどうかを確認しましたか? – PerunSS

+0

他の人があなたを助け、[mcve]を提供できるように助けてください。 –

+0

@IljaEverilä私はSchemaとdb.Modelを使用して解決しました。すべては上手く行きました。私はdb.session.commitをやっていましたが、まだそれを削除していました。 –

答えて

1

これは、データベースへの追加をコミットしていない可能性が高いためです。 SQLAlchemyのドキュメントでthisを見て、「データをデータベースに挿入することは3段階のプロセスです」と言います。あなたは追加する必要があります:

>>> db.session.add(admin) 
>>> db.session.commit() 

私はこれが「本当」に「自動コミット」を設定経由して達成することができるが、私はその方法を試していないと信じています。

+0

それは私がスキーマとdb.Modelを使用してすべての細かいポストを行った、私はdb.session.commitをやっていたが、それはまだそれを削除していた –