2016-11-17 69 views
1

Flask-SQLAlchemy檢查數據庫中是否存在表格。 我看到類似的問題,但我儘量不要成功。Flask-SQLAlchemy檢查數據庫中是否存在表格

Flask-SQLAlchemy check if row exists in table

我已創建一個表對象,像這樣:

<class'flask_sqlalchemy.XXX'>, 

現在如果存在於數據庫如何檢查的對象。

我做很多嘗試: 如:

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

一些表對象之前創建的,但它不存在於數據庫中,現在他們。全部打印。 例如:打印內容是

tablename: table_1 
tablename: table_2 
tablename: table_3 

但只有TABLE_1是存在確定年代,TABLE_2和TABLE_3動感中是創建,現在我只想用TABLE_1。

非常感謝。

+0

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

+0

我試試,但不能,我更新prolem,謝謝。 – user3804623

+0

我不明白這個問題。你想編輯'table_1'嗎? – Chr

回答

0

我使用了這些方法。像你一樣看着模型只會告訴你數據庫中應該包含什麼。

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 
相關問題