---
# System prepended metadata

title: 'Feature: Add Customer Database'

---


# Feature: Add Database
As a Reseller's Customer  
I want to add a database  
To store data for a specific application

### Rules:
- The reseller's customer can create databases
- The user and account name must be presented when creating the database
- The database is added asynchronously
- **Prerequisite**: You must have an account and an added site
    - Required fields: "Account," "Site," "Database Name," and "Password"
- The first database instance takes up the most storage space in the package (about 200MB)
- A 0.5 GB storage package can hold 10 databases
- Database names in use cannot be duplicated
- Database name cannot contain the words "test" or "teste"
- There is no predefined time for the status to change from "activating" to "active"
- To view the status update, you must manually reload the page
- It should be possible to use a previously deleted database name
- It is not possible to select a site using a package that has reached its database limit
- It is allowed to use reserved words as database names, such as 'column', 'create', 'create_index', 'dbselect', 'io_after_gtids', 'json_table', 'old_table', 'select', 'updates', 'virtual'.



### Scenario: With all valid data
- **Given** that I provide all valid data  
- **When** adding a database  
- **Then** it shows the message "Banco de dados adicionado com sucesso."  
- And it shows the database in the listing


### Scenario: Providing a name in use
- **Given** that I provide a name in use "reservabancoqa"  
- **When** adding a database  
- **Then** it shows the message "Erro ao adicionar o banco de dados!"  
    - And it shows a warning "O nome do banco de dados já está em uso"  
    - And it does not allow adding the database


### Scenario Outline: Providing an invalid name
- **Given** that I provide the invalid name "<name>"  
- **Then** it shows a warning "<warning>"  
    - And it does not allow adding the database  
#### Examples:
    | name    | warning                                                       |                 
    | \n      | O preenchimento é obrigatório.                                |
    | a_      | O campo deve conter no mínimo 3 caracteres.                   |
    | 0ab_    | O prefixo deve iniciar com letras                             |
    | a0b     | O prefixo do banco deve finalizar com: "_"                    |
    | a.b_    | O prefixo deve conter apenas letras, números ou carácter "_"  |



### Scenario Outline: Providing an invalid password
- **Given** that I provide the invalid password "<password>"  
- **Then** it shows a warning "<warning>"  
    - And it does not allow adding the database  
#### Examples:
    | password        | warning                                                 |
    | \n              | O preenchimento é obrigatório.                          |
    | inicial         | A senha não atinge os requisitos mínimos de segurança.  |
    | @@@Inicial1234  | A senha deve iniciar com uma letra.                     |


### Scenario: Site linked to a deactivated plan
- **Given** that the site's plan is deactivated  
- **When** adding a database  
- **Then** it is not possible to select the site


### Scenario: Package limit reached
- **Given** that the site package has no available quantity  
- **When** creating the database and selecting the site  
- **Then** it does not allow site selection  
    - And it shows a warning "Limite atingido"
    
  