> For the complete documentation index, see [llms.txt](https://plexidev.gitbook.io/quickdb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://plexidev.gitbook.io/quickdb/overview/changelog.md).

# Changelog

### :tools: Additional Database Options

There are two new options you can utilize when initializing your database. The first available option is the **driver**. Currently, you can either use SQLite (default) or MySQL. The second new option is **filePath**, which allows you to specify the file you would like to manipulate (default: json.sqlite)

### SQLite

```javascript
// SQLite (default) w/ filePath (optional)
const { QuickDB } = require('quick.db');
const db = new QuickDB({ filePath: 'source/to/path/test.sqlite' });
```

### MySQL

```javascript
// MySQL
const { QuickDB, MySQLDriver } = require('quick.db');
(async () => {
    const mysql = new MySQLDriver({
        host:     'localhost',
        user:     'me',
        password: 'secret',
        database: 'my_db'
    });
    
    await mysql.connect();
    // It is important to connect MySQL
    
    const db = new QuickDB({ driver: mysql });
})();
```

### Added functions

* pull - Remove an element from an array (Reverse of push)
* sub - The subtract function has been renamed to sub&#x20;
* deleteAll - Delete everything in the database (or the table)

## The use of async/await

Now quick.db uses async and await for all of it's methods
