from sqlalchemy import *
database = create_engine("sqlite:///database.db")
metaData=MetaData()
user_table = Table('user', metaData,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('fullname', String)
)
addresses_table = Table('address', metaData,
Column('id', Integer, primary_key=True),
Column('email_address', String(100), nullable=False),
Column('user_id', Integer, ForeignKey('user.id'))
)
story_table = Table('story', metaData,
Column('story_id', Integer, primary_key=True),
Column('version_id', Integer, primary_key=True),
Column('headline', Unicode(100), nullable=False),
Column('body', UnicodeText)
)
published_table = Table('published', metaData,
Column('pub_id', Integer, primary_key=True),
Column('pub_timestamp', DateTime, nullable=False),
Column('story_id', Integer),
Column('version_id', Integer),
ForeignKeyConstraint(
['story_id', 'version_id'],
['story.story_id', 'story.version_id'])
)
network_table= Table('network',metaData,
Column('network_id', Integer, primary_key=True),
Column('name', String(100), nullable=False),
Column('created_at', DateTime, nullable=False),
Column('owner_id', Integer,ForeignKey('user.id'))
)
metaData.create_all(database)
metadata2=MetaData()
reflect = Table('user', metadata2, autoload=True, autoload_with=database)
inspector = inspect(database)
columns=inspector.get_columns('network')
for column in columns:
print(column)
tableNames=inspector.get_table_names()
result = []
for tableName in tableNames:
for column in inspector.get_columns(tableName):
if column['name'] == 'story_id':
result.append(tableName)
print(result)
{'default': None, 'nullable': False, 'name': 'network_id', 'autoincrement': True, 'type': INTEGER(), 'primary_key': 1}
{'default': None, 'nullable': False, 'name': 'name', 'autoincrement': True, 'type': VARCHAR(length=100), 'primary_key': 0}
{'default': None, 'nullable': False, 'name': 'created_at', 'autoincrement': True, 'type': DATETIME(), 'primary_key': 0}
{'default': None, 'nullable': True, 'name': 'owner_id', 'autoincrement': True, 'type': INTEGER(), 'primary_key': 0}
['published', 'story']