PHP Luminova: Database Backup and Export manager
Database manager class allows you to create a backup of your database and tables, and export them as a CSV or JSON format.
The Manager class allows you to create backups of your database, database table or export specific table columns as CSV or JSON files. All backups and exports are stored in /writeable/backups/ directory.
Class Definition
- Class namespace:
\Luminova\Database\Manager - This class implements: \Luminova\Interface\LazyInterface
Methods
constructor
Initializes database manager class with DriversInterface you are using.
public __construct(\Luminova\Interface\DriversInterface $db, ?string $table = null): mixedParameters:
| Parameter | Type | Description |
|---|---|---|
$db | \Luminova\Interface\DriversInterface | The database driver interface. |
$table | string|null | The name of the table to manage. |
Get database manager instance from QueryBulder class.
$manager = $bilder->manager(): Manager;setTable
Sets the database table to backup or export.
public setTable(string $table): voidParameters:
| Parameter | Type | Description |
|---|---|---|
$table | string | The database table name. |
export
Exports the specified table and downloads it as a CSV or JSON file.
public export(string $as = 'csv', ?string $filename = null, array $columns = ['*']): boolParameters:
| Parameter | Type | Description |
|---|---|---|
$as | string | Format to export (e.g, csv or json). |
$filename | string|null | The name of the file to download. |
$columns | array | The columns to export (default: [*]all columns). |
Return Value:
bool - Return true on success else false.
Throws:
- \Luminova\Exceptions\DatabaseException - If an invalid format is provided or if the export fails.
backup
Creates a backup of the current database or a specific table.
public backup(?string $filename = null, bool $forTable = false): boolParameters:
| Parameter | Type | Description |
|---|---|---|
$filename | string|null | The name of the backup file. |
$forTable | bool | Whether to back up a specific table or the entire database (default: false). |
Return Value:
bool - Return true on success else false.
Throws:
- \Luminova\Exceptions\DatabaseException - If the backup fails or the directory cannot be created.