# Is it possible to change the database schema or table names used by Prodigy?

**URL:** <https://support.prodi.gy/t/is-it-possible-to-change-the-database-schema-or-table-names-used-by-prodigy/1395>\
**Category:** Uncategorized\
**Tags:** usage, database, solved\
**Created:** [April 12, 2019, 3:59pm UTC](https://support.prodi.gy/t/is-it-possible-to-change-the-database-schema-or-table-names-used-by-prodigy/1395 "2019-04-12T15:59:18Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [April 15, 2019, 8:33am UTC](https://support.prodi.gy/t/is-it-possible-to-change-the-database-schema-or-table-names-used-by-prodigy/1395/2 "2019-04-15T08:33:16Z")

</div>

The source of the database model (using `peewee`) is included with Prodigy in `components/db.py`, so you can check out how it is set up there. For 100% flexibility, you can also implement your own custom `Database` class – see here for more details:

> [@Using Google Firestore as database or not](https://support.prodi.gy/t/using-google-firestore-as-database-or-not/1358/2):
>
> Prodigy lets you pass in a custom Database class via the "db" setting returned by a custom recipe, or via an entry point of your own Python package installed in the same environment. So basically, you can write a class that exposes the same methods and properties as the built-in Database class but writes to your remote Firestore database. For instance, it’d have a method add\_examples that takes a list of examples and a list of one or more dataset names and then adds those examples to the given …

As long as the database methods exist and do the right thing, it's then fully up to you _how_ you implement the logic and how the data is stored or retrieved.

---

_[View the full topic](https://support.prodi.gy/t/is-it-possible-to-change-the-database-schema-or-table-names-used-by-prodigy/1395)._
