API for removing all models Or getting all models
http://docs.peewee-orm.com/en/latest/peewee/api.html#SubclassAwareMetadata

```python
from peewee import SubclassAwareMetadata

db = SqliteDatabase(':memory:')

class Base(Model):
    class Meta:
        database = db
        model_metadata_class = SubclassAwareMetadata                                     

class P1(Base): pass
class P2(Base): pass
class C1_1(P1): pass
class C1_2(P2): pass

Base._meta.map_models(print)

# Or for you case:
accum = []
Base._meta.map_models(accum.append)
print(accum)
# [<Model: Base>, <Model: P1>, <Model: P2>, <Model: C1_1>, <Model: C1_2>]                  
``` I have removed some Model names form the file. I want to remove all tables names from the db (Includes tables for the Model definition that exist previously).

There is an API to get all table names ( db.get_tables() ).
It return lower case names for Models (e.g. "versiondb" for VersionDB Model).
There should be a way to delete the table names returned by `get_tables()`.

db.remove_tables()  API should be there :
```   
    all_tables = db.get_tables() 
    db.remove__tables(all_tables)
``` @dyadav7 - yes but that does not take into consideration any relationships/dependencies so you'll have to `DROP...CASCADE` all of those presumably. You can just write a loop or your own helper function if you literally want to delete every single table unconditionally:

```python
for table_name in db.get_tables():
    db.execute_sql('drop table if exists "%s" cascade' % table_name)
```

Or drop and re-create your database itself.
I want to remove all the models (i.e. remove all tables) without listing all the Model names.
Is there a way to do it ?

OR
I can get all model names using some API and call "drop_tables(models)" also.
Is there an API to get the list of models ? 

e.g.
```
        db.remove all models()
OR
        db.remove all tables()
OR
        models = db.get_models()
        db.drop_tables(models)
```