DbSaver
DbSaver is an application written by Bastien LOUGHIN allowing you to make automatic daily backups (and manual backups) for your MySQL databases.
Documentation
See docs/english.md for English docs or docs/french.md for French docs.
DbSaver is an application written by Bastien LOUGHIN allowing you to make automatic daily backups (and manual backups) for your MySQL databases.
See docs/english.md for English docs or docs/french.md for French docs.
#59
WIP
docker-compose
to V2 variant docker compose
BREAKING CHANGES
Removed vichuploader + knpgaufrette to use flysystem
The user can now configure the storage spaces (adapters) for his backups from the dashboard. It can currently configure a local adapter, or for S3 (AWS, Scaleway, ...) For each database, he can choose which adapter to use.
See #51
Request
Currently database backups are created directly on request, which is blocking. Instead it could be handled more gracefully by using Messenger. So instead of directly creating a backup on the button click, we'll dispatch a message containing the information needed to create the backup (e.g. a Database
entity), and then let the worker handle that job.
Additional information
symfony/messenger
to be added in composer.MESSENGER_TRANSPORT_DSN
to be set by the user.Hey @bastien70 & @jmsche 👋
I like the idea and setup of this bundle, so I would like to know if you are open to having a docker image for it? Even though I'm kind of new to making images myself, I've already started working on it, so if you are interested I'd love to create a PR and hear your feedback.
enhancementSee #64
From now on, each user can access the databases and backups of any other user.
Moreover, there is no logic in the databases created being relative to each user since the application is supposed to help companies (and/or freelancers) to manage their databases, so you might as well centralize everything.
enhancementPerhaps users would like one database to be backed up every week, and another every day or month.
Currently, the user himself configures a single CRON task with a certain periodicity which will be the same for all databases.
Instead, we could indicate to the user to configure a CRON task which will be executed every day and which will check if there are databases to backup, according to the requested periodicity.
Problem
The max backups option does not remove the oldest backups when it reaches it specified value, but it removes the most recently created one.
Reproduce
5
.5
manual backups and check if this is correctly inserted in the database.
3. Now make another backup (nr. 6
) and check the database again.
No new backup seems to be created and the same backups are still present.
Now, if you set the max backups option for the database to 6
, and then create a new backup, the following happens:
It inserted a new backup, but with ID 7.
Conclusion
Apparently the check with max backups is done in the clean
method, which is the root problem of this issue. The implementation with the looping over the backups is incorrect, as it causes the removal of the most recent backup right after creation, which explains the initially strange jump in ID after increasing max backups option.
Possible solution
Adding a method to the BackupRepository
with custom querybuilder for selecting the backups to be removed, and then delete them in the current clean
method. Or maybe doctrine collection matching could come in handy here. Many different solutions possible.
See #75
I updated CI to use mariadb from the docker-compose.test instead of a fresh mysql service. In this way, it allows me not to have to duplicate the procedure carried out in the docker-compose (which here forced me to create a test database and import SQL into it)
Also, I updated the used version of Ubuntu to the latest one. If that's a problem, I'll do that in a separate PR.
enhancementRequest
Flysystem is a popular and actively maintained library (in contrast to Gaufrette), and is also being used in SymfonyCasts tutorials. I think making the switch to Flysystem is not a drastic change and it would probably be more attractive for other potential/future users.
Additional information
New features:
Updates:
Improvements:
For details of changes, please refer to CHANGELOG.MD
Source code(tar.gz)New feature:
For details of changes, please refer to CHANGELOG.MD
Source code(tar.gz)New features:
Fixes:
For details of changes, please refer to CHANGELOG.MD
Source code(tar.gz)New features:
Fixes:
For details of changes, please refer to CHANGELOG.MD
Source code(tar.gz)New features :
Fixes :
For details of changes, please refer to CHANGELOG.MD
Source code(tar.gz)New features:
For details of changes, please refer to CHANGELOG.MD
Source code(tar.gz)Database Backup Manager This package provides a framework-agnostic database backup manager for dumping to and restoring databases from S3, Dropbox, FT
ATK Data - Data Model Abstraction for Agile Toolkit Agile Toolkit is a Low Code framework written in PHP. Agile UI implement server side rendering eng
Features: Can backup any number of databases. No need to introduce column name only table name The Last id based data backup Support 12 different data
Query builder class php This class is responsible for creating and executing sql commands and helps you to execute as easily as possible and safely. I
PHP lions-software-database-manager This is a simple library for managing database connections, results pagination and building queries in PHP. Esta é
Symfony with ELK and Elastic FileBeats Stack Prerequisites: Make sure that docker and docker-compose are installed in your machine and available for y
TO-DO-LIST-WITH-LOGIN-AND-SIGN-UP TO DO LIST WITH LOGIN AND SIGN UP and LOGOUT using PHP and MySQL please do edit the _dbconnect.php before viewing th
Flowder Flowder is a (really) simple fixture loader for PHP 7.3+, supporting SQLite and MySQL. Using Flowder in PHP 7.2 or below? Try version 1 instea
First MySQLi PHP Connect and work with MySQL/MariaDB database through MySQLi in PHP. The above exercises are designed for students. This is an introdu
Staggered import of large and very large MySQL Dumps (like phpMyAdmin dumps) even through the web servers with hard runtime limit and those in safe mode. | Persian Translation Version
Aura.SqlQuery Provides query builders for MySQL, Postgres, SQLite, and Microsoft SQL Server. These builders are independent of any particular database
phpMyAdmin A web interface for MySQL and MariaDB. https://www.phpmyadmin.net/ Code status Download You can get the newest release at https://www.phpmy
SQL Parser A validating SQL lexer and parser with a focus on MySQL dialect. Code status Installation Please use Composer to install: composer require
my little forum my little forum is a simple PHP and MySQL based internet forum that displays the messages in classical threaded view (tree structure).
CRUD-MYSQL-API Very easy to use PDO MYSQL API. Just Include in PHP file and get it working. INSTALATION Step 1: git clone https://github.com/arhex-lab
Micro PHP mysql lib (~ 200 lines of code) with ultra powerful CRUD for faster than ever development: parametric fetch/insert/update/delete (based on a
A simple program to query mysql data and display the queried data in JSON format. The data displayed in JSON format will change and update as the data in your mysql database changes.
The Enobrev\ORM library is a small framework of classes meant to be used for simply mapping a mysql database to PHP classes, and for creating simply SQL statements using those classes.
MySQLDump - PHP Requirements | Installing | Getting started | API | Settings | PDO Settings | TODO | License | Credits This is a php version of mysqld