# Mask Database Names

> Keep the production database names in your code while your own server uses other names - a per developer mapping from the name in the code to the name on the machine.

Source: https://docs.apimaker.dev/v1/docs/features/mask-database.html

The code of the project names the databases the way production does : `shop`. On a developer machine the same database may be `shop_dev`, or two developers may share one server with `shop_alice` and `shop_bob`. Masking maps one to the other, for one account, so nobody edits a database name before a pull request.

| | |
|---|---|
| Where | Profile → **User info** → masked databases : instance, database name, masked database name. |
| Scope | The account of the developer only. Git, schemas, settings and code keep the name of the project. |
| Effect | Every API, hook, migration and query of the account runs on the masked name : the name in the URL and in the code stays the one of the project. |

| Instance | Database name (in the code) | Masked database name (on this server) |
|---|---|---|
| `mysql8` | `shop` | `shop_alice` |

- Add one row per database whose name differs. Names not listed are used as they are.
- Table meta, migrations, plain queries which name the database in the API also go through the mapping ; SQL text you write yourself does not.

## Related

- [Developer accounts](https://docs.apimaker.dev/v1/docs/dev-accounts/dev-accounts.html) · [Instances](https://docs.apimaker.dev/v1/docs/apis-all/overview.html#instances)
