# Database ## `amber db` The `database` or `db` command is one of the most common command that you will be operating. This command allows you to work with the database engine of choice when the Amber application was generated. Here is a list of the commands available: * **create** Creates the database for the environment specified in your configuration file. * **drop** Drops the database for the environment specified in your configuration file. * **migrate** or **m** Migrates `up` or `down` the database version * **rollback** Rolls back your database to a specific version or to previous version * **redo** Repeats the database version specified or lasted version * **status** Prints the current database migration status * **seed** Adds initial data after a database is created * **version** Prints the database current version. ```text amber database [COMMANDS1 COMMANDS2...] Arguments: COMMANDS (Accepts multiple) drop create migrate rollback redo status version seed ``` ## Example Usages ### **Create** ```text $ amber db create Created database blog_development ``` {% hint style="warning" %} Starting with version 0.3.5 - Amber made two changes regarding databases: * Amber will substitute hyphens `-` for underscores `_` in database names to keep it PostgreSQL friendly. * The default user for `pg` databases is `postgres` rather than `root`in your configuration file. `postgres://postgres:@localhost:5432/microsecond_blog_development` {% endhint %} ```text $ amber new microsecond-blog $ cd microsecond-blog $ amber db create Created database microsecond_blog_development ``` ### **Drop** ```text $ amber db drop Dropped database blog_development ``` ### **Migrate** ```text $ amber db migrate Migrating db, current version: 0, target: 20170928204246 OK 20170928204246_create_post.sql ``` ### **Rollback** ```text $ amber db rollback Migrating db, current version: 20170928204246, target: 0 OK 20170928204246_create_post.sql ``` ### **Redo** ```text $ amber db redo Migrating db, current version: 20170928204246, target: 0 OK 20170928204246_create_post.sql Migrating db, current version: 0, target: 20170928204246 OK 20170928204246_create_post.sql ``` ### **Status** ```text $ amber db status Applied At Migration ======================================= 2017-09-28 20:44:22 UTC -- 20170928204246_create_post.sql ``` ### **Seed** ```text $ amber db seed Seeded database ``` ### **Version** ```text $ amber db version 20170928204246 ```