505 lines
8.7 KiB
Plaintext
505 lines
8.7 KiB
Plaintext
---
|
|
sidebar_label: "db"
|
|
sidebar_position: 5
|
|
---
|
|
|
|
import { Table } from "docs-ui"
|
|
|
|
export const metadata = {
|
|
title: `db Commands - Medusa CLI Reference`,
|
|
}
|
|
|
|
# {metadata.title}
|
|
|
|
Commands starting with `db:` perform actions on the database.
|
|
|
|
## db\:setup
|
|
|
|
Creates a database for the Medusa application with the specified name, if it doesn't exit. Then, it runs migrations and syncs links.
|
|
|
|
It also updates your `.env` file with the database name.
|
|
|
|
```bash
|
|
npx medusa db:setup --db <name>
|
|
```
|
|
|
|
<Note title="Tip">
|
|
|
|
Use this command if you're setting up a Medusa project or database manually.
|
|
|
|
</Note>
|
|
|
|
### Options
|
|
|
|
<Table>
|
|
<Table.Header>
|
|
<Table.Row>
|
|
<Table.HeaderCell>Option</Table.HeaderCell>
|
|
<Table.HeaderCell>Description</Table.HeaderCell>
|
|
<Table.HeaderCell>Required</Table.HeaderCell>
|
|
<Table.HeaderCell>Default</Table.HeaderCell>
|
|
</Table.Row>
|
|
</Table.Header>
|
|
<Table.Body>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--db <name>`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
The database name.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Yes
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
\-
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--skip-links`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Skip syncing links to the database.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Links are synced by default.
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--execute-safe-links`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Skip prompts when syncing links and execute only safe actions.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Prompts are shown for unsafe actions, by default.
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--execute-all-links`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Skip prompts when syncing links and execute all (including unsafe) actions.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Prompts are shown for unsafe actions, by default.
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--no-interactive`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Disable the command's prompts.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
\-
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
</Table.Body>
|
|
</Table>
|
|
|
|
---
|
|
|
|
## db\:create
|
|
|
|
Creates a database for the Medusa application with the specified name, if it doesn't exit.
|
|
|
|
It also updates your `.env` file with the database name.
|
|
|
|
```bash
|
|
npx medusa db:create --db <name>
|
|
```
|
|
|
|
<Note title="Tip">
|
|
|
|
Use this command if you want to only create a database.
|
|
|
|
</Note>
|
|
|
|
### Options
|
|
|
|
<Table>
|
|
<Table.Header>
|
|
<Table.Row>
|
|
<Table.HeaderCell>Option</Table.HeaderCell>
|
|
<Table.HeaderCell>Description</Table.HeaderCell>
|
|
<Table.HeaderCell>Required</Table.HeaderCell>
|
|
<Table.HeaderCell>Default</Table.HeaderCell>
|
|
</Table.Row>
|
|
</Table.Header>
|
|
<Table.Body>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--db <name>`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
The database name.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Yes
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
\-
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--no-interactive`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Disable the command's prompts.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
\-
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
</Table.Body>
|
|
</Table>
|
|
|
|
---
|
|
|
|
## db\:generate
|
|
|
|
Generate a migration file for the latest changes in one or more modules.
|
|
|
|
```bash
|
|
npx medusa db:generate <module_names...>
|
|
```
|
|
|
|
### Arguments
|
|
|
|
<Table>
|
|
<Table.Header>
|
|
<Table.Row>
|
|
<Table.HeaderCell>Argument</Table.HeaderCell>
|
|
<Table.HeaderCell>Description</Table.HeaderCell>
|
|
<Table.HeaderCell>Required</Table.HeaderCell>
|
|
</Table.Row>
|
|
</Table.Header>
|
|
<Table.Body>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`module_names`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
The name of one or more module (separated by spaces) to generate migrations for. For example, `helloModuleService`.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Yes
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
</Table.Body>
|
|
</Table>
|
|
|
|
---
|
|
|
|
## db\:migrate
|
|
|
|
Run the latest migrations to reflect changes on the database, sync link definitions with the database, and run migration data scripts.
|
|
|
|
```bash
|
|
npx medusa db:migrate
|
|
```
|
|
|
|
<Note title="Tip">
|
|
|
|
Use this command if you've updated the Medusa packages, or you've created customizations and want to reflect them in the database.
|
|
|
|
</Note>
|
|
|
|
### Options
|
|
|
|
<Table>
|
|
<Table.Header>
|
|
<Table.Row>
|
|
<Table.HeaderCell>Option</Table.HeaderCell>
|
|
<Table.HeaderCell>Description</Table.HeaderCell>
|
|
<Table.HeaderCell>Required</Table.HeaderCell>
|
|
<Table.HeaderCell>Default</Table.HeaderCell>
|
|
</Table.Row>
|
|
</Table.Header>
|
|
<Table.Body>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--skip-links`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Skip syncing links to the database.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Links are synced by default.
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--skip-scripts`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Skip running data migration scripts. This option is added starting from
|
|
[Medusa v2.3.0](https://github.com/medusajs/medusa/releases/tag/v2.3.0).
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Data migration scripts are run by default starting from
|
|
[Medusa v2.3.0](https://github.com/medusajs/medusa/releases/tag/v2.3.0).
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--execute-safe-links`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Skip prompts when syncing links and execute only safe actions.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Prompts are shown for unsafe actions, by default.
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--execute-all-links`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Skip prompts when syncing links and execute all (including unsafe) actions.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Prompts are shown for unsafe actions, by default.
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
</Table.Body>
|
|
</Table>
|
|
|
|
---
|
|
|
|
## db\:rollback
|
|
|
|
Revert the last migrations ran on one or more modules.
|
|
|
|
```bash
|
|
npx medusa db:rollback <module_names...>
|
|
```
|
|
|
|
### Arguments
|
|
|
|
<Table>
|
|
<Table.Header>
|
|
<Table.Row>
|
|
<Table.HeaderCell>Argument</Table.HeaderCell>
|
|
<Table.HeaderCell>Description</Table.HeaderCell>
|
|
<Table.HeaderCell>Required</Table.HeaderCell>
|
|
</Table.Row>
|
|
</Table.Header>
|
|
<Table.Body>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`module_names`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
The name of one or more module (separated by spaces) to rollback their migrations for. For example, `helloModuleService`.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Yes
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
</Table.Body>
|
|
</Table>
|
|
|
|
---
|
|
|
|
## db\:sync-links
|
|
|
|
Sync the database with the link definitions in your application, including the definitions in Medusa's modules.
|
|
|
|
```bash
|
|
npx medusa db:sync-links
|
|
```
|
|
|
|
### Options
|
|
|
|
<Table>
|
|
<Table.Header>
|
|
<Table.Row>
|
|
<Table.HeaderCell>Option</Table.HeaderCell>
|
|
<Table.HeaderCell>Description</Table.HeaderCell>
|
|
<Table.HeaderCell>Required</Table.HeaderCell>
|
|
<Table.HeaderCell>Default</Table.HeaderCell>
|
|
</Table.Row>
|
|
</Table.Header>
|
|
<Table.Body>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--execute-safe`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Skip prompts when syncing links and execute only safe actions.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Prompts are shown for unsafe actions, by default.
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
<Table.Row>
|
|
<Table.Cell>
|
|
|
|
`--execute-all`
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Skip prompts when syncing links and execute all (including unsafe) actions.
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
No
|
|
|
|
</Table.Cell>
|
|
<Table.Cell>
|
|
|
|
Prompts are shown for unsafe actions, by default.
|
|
|
|
</Table.Cell>
|
|
</Table.Row>
|
|
</Table.Body>
|
|
</Table>
|