2016-11-17 61 views
1

Flask-SQLAlchemyデータベースにテーブルが存在するかどうかを確認します。 同様の問題がありますが、成功しないようにしています。Flask-SQLAlchemyデータベースにテーブルが存在するかどうかを確認します。

Flask-SQLAlchemy check if row exists in table

私はこのように、テーブルオブジェクトを作成しています

<class'flask_sqlalchemy.XXX'>, 

を今すぐデータベースに存在する場合は、オブジェクトをチェックする方法。データベース内に存在し、そして今、彼らのdoesnt

for t in db.metadata.sorted_tables: 
      print("tablename",t.name) 

いくつかのテーブルオブジェクトが以前に作成されますが、それ: 例:

私は多くの試みを行います。すべて印刷します。 例:印刷コンテンツは

tablename: table_1 
tablename: table_2 
tablename: table_3 

ですが、唯一のtable_1はdatable、table_2とtable_3が、今私が唯一のtable_1を使いたい、dynamica作成される存在です。

大変感謝します。

+0

使用' MetaData':http://docs.sqlalchemy.org/en/latest/core/metadata.html – Chr

+0

私がしようとしたが、カントは、私は、感謝をprolemを更新します。 – user3804623

+0

私は問題を理解していません。 'table_1'を編集しますか? – Chr

答えて

0

私はこれらの方法を使用しました。あなたのようなモデルを見ると、データベースにあるべきことが分かります。 `sqlalchemy`から

import sqlalchemy as sa 

def database_is_empty(): 
    table_names = sa.inspect(engine).get_table_names() 
    is_empty = table_names == [] 
    print('Db is empty: {}'.format(is_empty)) 
    return is_empty 

def table_exists(name): 
    ret = engine.dialect.has_table(engine, name) 
    print('Table "{}" exists: {}'.format(name, ret)) 
    return ret 
関連する問題