Skip to content

Instantly share code, notes, and snippets.

@vkotovv
Created August 20, 2013 14:08
Show Gist options
  • Save vkotovv/6281951 to your computer and use it in GitHub Desktop.
Save vkotovv/6281951 to your computer and use it in GitHub Desktop.
Clear data for all tables via flask-sqlalchemy
def clear_data(session):
meta = db.metadata
for table in reversed(meta.sorted_tables):
print 'Clear table %s' % table
session.execute(table.delete())
session.commit()
@premchalmeti
Copy link

premchalmeti commented Aug 19, 2020

How to bypass IntegrityError when truncating data?

I use a small script like below,

https://gist.github.com/premchalmeti/6aa70c12103025645542a481e6f55a07

Explicitly mention the tables having foreign key then concrete classes.

@aaronkurz
Copy link

Thank you! Works like a charm for me!

@Divide-By-0
Copy link

Why not,

    db.drop_all()
    db.create_all()
    db.session.commit()

@mesiriak
Copy link

Why not,

    db.drop_all()
    db.create_all()
    db.session.commit()

It will spend a lot of time if u doing some like that often. For example, u can use author's code in tests, where u need to clear all tables after commits. Imagine u have 30-40 tests. How much time it will spend?

@NailClaros
Copy link

what is the session datatype?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment