A Symfony bundle to add commands that can be used with Platform.sh
Note: This bundle is still under development towards a version 1. It is highly reccomended to have a version control system in place prior to running any commands, (*1)
Installation
Add the following to your composer.json file., (*2)
"require": {
...
"lmatte7/PlatformBundle": "1.0"
},
Add the following to your AppKernel.php, (*3)
public function registerBundles()
{
$bundles = [
...
new lmatte7\PlatformBundle\lmatte7PlatformBundle(),
];
}
Then run composer update
, (*4)
Available Commands
There are three commands available:, (*5)
rsync
: Sync files from or to your platform.sh environments. Will only sync files in /web, (*6)
sync_db
: Sync databases from or to your platform.sh environments, (*7)
init
: Set up the necessary files to create a platform.sh project, (*8)
Rsync
Usage:
platform:rsync [options]
Options:
-d, --direction=DIRECTION The direction to rsync. Options are "to" or "from" production.
-f, --directory[=DIRECTORY] The directory to sync with no starting slash, leave blank to sync the entire web directory
-s, --source-environment[=SOURCE-ENVIRONMENT] The environment to sync files with. Defaults to current environment
-h, --help Display this help message
Example:
To sync the local web directory with your current platform.sh environment
bin/console platform:rsync -d from
, (*9)
To sync the platform.sh master environment web directory with your current web directory
bin/console platform:rsync -d to -s master
, (*10)
To sync only the local /web/upload directory with the master platform.sh env /web/upload
bin/console platform:rsync -d to -f upload -s master
, (*11)
Sync DB
Usage:
platform:sync_db [options]
Options:
-d, --direction[=DIRECTION] The direction to sync data. Options are to and from. Option defaults to from
-s, --source-environment[=SOURCE-ENVIRONMENT] The environment to sync data with. Defaults to current environment
-h, --help Display this help message
Example:
To sync the local database with your current platform.sh environment database
bin/console platform:sync_db -d from
, (*12)
To sync the platform.sh master environment database with your local database
bin/console platform:rsync -d from -s master
, (*13)
Note: Must have mysql and mysqldump available as command line options
Usage:
platform:init
Options:
-h, --help Display this help message
Creates default config files needed to create a platform.sh project. Uses the suggested files from the platform.sh Symfony example project. Uses MySql for the database. It is highly recommended these are reviewed before pushing to a live server., (*14)