Releases: gggeek/db-3v4l
0.17.0
0.16.0
-
Improved: bumped minimum required docker-compose version to 1.19 in docs and tests, as that was effectively necessary
-
Improved: taught docker-compose to support a new config env var:
COMPOSE_DO_SHRINK_CONTAINERS
-
Improved: taught
dbstack
to support two new env vars:COMPOSE_ONLY_VENDORS
andCOMPOSE_EXCEPT_VENDORS
.
These can be used to set up a db3v4l stack which does not run the complete set of (available) databases, but is limited to specific vendors, making it require less cpu/ram/disk resources.
Example usages:export COMPOSE_ONLY_VENDORS=mysql,mariadb,percona ./bin/dbstack start export COMPOSE_EXCEPT_VENDORS=oracle,mssql ./bin/dbstack start
-
Improved: tests on Travis exercise a wider set of configuration options and execute somewhat faster
0.15.0
-
Improved: renamed PostgreSQL versions 10, 11 and 12 and made their 'minor' version floating instead of locking it down.
This is in line with the unlocking of minor versions for MSSQLServer in db3v4l 0.14 and with PostgreSQL version numbering policies - see https://www.postgresql.org/support/versioning/ -
Improved: it is now possible to specify a specific minor version for each installed db sy simply editing the local docker-compose env file
.env.local
This allows f.e. to pick mysql 8.0.19 instead of 8.0.*, which at the time of writing would get you 8.0.21
0.14.0
-
New: added Oracle Database 18c (XE) to the available databases
-
New: added MariaDB 10.5 to the available databases
-
Improved: install the latest minor release available for Microsoft SQL Server 2017 and 2019 by default
-
New: taught
dbstack
a new command:services
, to list all defined docker-compose 'services' -
Improved: allow Adminer to execute long queries without timing out (currently set to 10 minutes)
-
Improved:
dbstack cleanup databases
tries harder to scrub local data which might prevent the databases from being recreated successfully on next start -
Improved: bumped the application dependencies to Symfony 4.4.11; Adminer 4.7.7
-
Improved:
dbstack build
anddbstack start
now wait for the bootstrap process of every container to finish, instead of waiting only for the web/admin/worker ones -
Improved: simplified the number of config files used by the
dbstack
command and taught it to accept the-e
option or the env var COMPOSE_LOCAL_ENV_FILE to allow easy usage of alternative config files. The latter is also understood by thedbconsole
command -
Improved: better error reporting when execution of SQL fails because of temporary db creation errors
0.13.0
-
New: added Percona Server 5.6, 5.7 and 8.0 to the available databases
-
New: Percona pt-toolkit is now installed in the worker container
-
Improved: added the
-u
option todbstack.sh build
, to allow updating the base Docker images.
This can be used to easily upgrade the available databases to the latest release found on dockerHub -
Improved: upgraded bundled Adminer from 4.7.5 to 4.7.6
-
Improved: updated the application dependencies to Symfony 4.4.4
-
Fixed: made sure the database:drop command uses the
-u
flag for usernames, same as other commands do
0.12.0
-
Improved: better sorting of results (eg. mariadb 10 now comes after mariadb 5)
-
Improved: dbconsole command:
sql:execute
learned to replace tokens in the value of--output-file
, eg:--output-file '../shared/results_{instancename}.yml'
-
New: dbstack learned a new command:
monitor
. It will open an interactive, textual admin console, which gives useful information about the running containers (eg. cpu and memory usage)
0.11.0
-
Breaking change: renamed
dbconsole database:shell
command todbconsole sql:shell
-
Fixed: display of docs in the web interface
-
Improved: dbconsole command:
sql:shell
learned option--database
-
Improved: dbconsole commands learned option
--output-file
-
Improved: dbconsole commands learned one-letter shortcuts for many options
-
Improved: dbconsole commands options
only-instances
andexcept-instances
can now be repeated multiple times -
Improved: dbstack command:
cleanup
learned argumentshared-data
-
Improved: dbstack commands
run
andshell
learned option-r
for running as root
0.10.0
-
Breaking change: renamed
stack.sh
script todbstack
-
Breaking change: removed
cleanup-databases.sh
,cleanup-docker-images.sh
, andcleanup-logs.sh
- the functionality of these scripts has been added todbstack
-
New: added
./bin/dbconsole
as quicker shortcut for./bin/dbstack dbconsole
-
New: added dbconsole command:
user:drop
-
New: added dbconsole command:
database:shell
. This starts an interactive sql session to one of the configured instances, using the native command-line client. Handy to avoid typing username and password every time -
Improved: for MariaDB and MySQL databases, the results of SELECT commands are now displayed using table formatting when running dbconsole command
sql:execute
. Also, the results for PostgeSQL databases are more terse (no more footer) -
Improved: the
database:drop
dbconsole command reports failures more consistently when trying to drop non-existing databases -
Improved:
dbstack
has learned a new command:cleanup
. Run./bin/dbstack -h
for details -
Improved: updated the application dependencies to Symfony 4.4.2
-
Changed: the
database:create
anddatabase:drop
dbconsole commands do not create/drop an user account by default any more. In order to force them do so, you should use the--user
option
0.9.0
-
Improved:
stack.sh start
andstack.sh stop
can now start/stop a single container -
Improved: the
instance:list
command now returns database vendor and version for each defined db instance.
NB: the database version is gotten from querying the databases themselves, rather than relying on configuration (unlike the data shown in the web interface, which still relies on the values manually set in config files) -
Improved: the
collation:list
,database:list
anduser:list
commands now return a more structured output, which is better for non-text output formats such as json -
Improved: lots of refactoring under the hood, laying the groundwork for more functionality in the future
0.8.0
-
Changed: moved MS SQL Server 2017 version from cu17 to cu18
-
New: it is now possible to specify the collation / character set used when creating new databases.
Please note that this is supported with many limitations:- 'utf8' as collation name is accepted by all databases except ms sql server 2017
- sqllite databases are always created with utf8 character set and will not respect the one specified on the command line
- 'utf8' is the only character set name which is known to be usable across all databases (with the limitations above)
- you can use database-specific naming to specify a collation/character set, but it will not be converted to be useable by other databases. Use the
only-instances
option to limit your commands to be executed on a single type of database at a time when you are passing in a database-specific collation name
-
New: console command:
collation:list
, to list available collations for each instance -
New: a
dbconsole
command is available, that can be used instead of the existingconsole
one.
It is simpler, as it does not list any actions which come from Symfony platform code, and it lets you do less typing, as it removes the prefix in its command names.Before:
php bin/console db3val:instance:list
Now:
php bin/dbconsole instance:list
Note: the standard
console
command is still available. -
Improved: all console/dbconsole commands report a non-zero exit code when a database action fails
-
Improved: better reporting of time spent and memory used by console/dbconsole commands when a database action fails
-
Improved:
stack.sh
will now set up automatically user id and group id in filedocker/containers.env.local
when building the images for the first time, in case they differ from the default ones declared indocker/containers.env
-
Improved:
stack.sh
has a new-p
option for building containers in parallel. The pre-existing option-p
has been renamed to-s
-
Improved:
stack.sh
now waits for completion of app set up on build and start (for max 600 secs by default).
A new-w SECS
option has been added for using a custom waiting timeout -
Improved:
stack.sh logs
now accepts an argument, which is the name of a docker service, to only show its logs.
eg.stack.sh logs worker
-
Improved: the MariaDB and MySQL databases will now properly update to the latest available minor version during the build of the containers
-
Improved: all non-database containers are now based on the same upstream image (buster-slim); this should speed up build time as well as produce slightly smaller container images
-
Improved: the application is now tested on Travis. Tests are still quite basic and do not cover all functionality