PHPackages                             youwe/pimcore5deployment - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. youwe/pimcore5deployment

ActivePimcore-bundle[DevOps &amp; Deployment](/categories/devops)

youwe/pimcore5deployment
========================

fix pimcore deployment trouble

0.16(7y ago)13.7kMITPHP

Since May 31Pushed 7y ago11 watchersCompare

[ Source](https://github.com/YouweGit/Pimcore5Deployment)[ Packagist](https://packagist.org/packages/youwe/pimcore5deployment)[ RSS](/packages/youwe-pimcore5deployment/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (6)Dependencies (1)Versions (18)Used By (0)

PIMCORE DEPLOYMENT EXTENSION
----------------------------

[](#pimcore-deployment-extension)

Version: Pimcore 5

Note: NOT compatible with Pimcore versions under 5

Developed by: Youwe (Manea, Roelf)

Excerpt
-------

[](#excerpt)

- Always developing your pimcore projects locally, and deploying them to servers afterwards like a real pro?
- Don't like having to manually save all the object classes on every server after deploying changed classes?
- Like to work more efficiently and professionally with pimcore?

... then this extension is for you!

Description
-----------

[](#description)

The pimcore deployment extension as the following general functionalities:

- Provide a way to do migrations of the pimcore object classes data structure
- Provide a way to keep tables with static data synced on the server
- Import some custom static sql files on deployment
- Provide a way to migrate static document data to the server (work in progress)

Usage and examples
------------------

[](#usage-and-examples)

After changing or adding a pimcore object class, use the following command line command to export the updated definitions:

Export all pimcore classes:

```
./htdocs/plugins/Deployment/cli/export-definition.sh

```

Export some selected pimcore classes:

```
./htdocs/plugins/Deployment/cli/export-definition.sh -c product,persom

```

When the project has been set up on a new dev system, or the project has been deployed to a server. Use the following command to have pimcore update the object class related files and database structure:

Import all json definitions:

```
./htdocs/plugins/Deployment/cli/import-definition.sh

```

Import some selected json definitions:

```
./htdocs/plugins/Deployment/cli/import-definition.sh -c product,persom

```

Drop all the views (and tables that should be views!) in the database. Typically done before a complete import-definition.

Drop all:

```
./htdocs/plugins/Deployment/cli/drop-views.sh

```

Drop selected (by name):

```
./htdocs/plugins/Deployment/cli/drop-views.sh -c product,persom

```

Drop selected (by id):

```
./htdocs/plugins/Deployment/cli/drop-views.sh -i 2,5,6

```

Clear the classes table in the database. Can be used when the class ids in the exported definition mismatch the ones already in the database. Use with care.

```
./htdocs/plugins/Deployment/cli/clear-classes.sh

```

If some tables contain static data which is actually managed whilst developing, and are not supposed to be altered by the client on the server, you can use the static data exporter/importers:

Configure which tables are static using the extras-&gt;extensions-&gt;deployment-configuration in pimcore. Run this command on your dev station after altering the table data:

```
./htdocs/plugins/Deployment/cli/export-staticdata.sh

```

Run this command (automatically) on the server after deployment. Warning: this will completely replace all data in the tables:

```
./htdocs/plugins/Deployment/cli/import-staticdata.sh

```

Import all custom layouts json definitions:

```
./htdocs/plugins/Deployment/cli/import-customlayouts.sh

```

Export all custom layouts json definitions:

```
./htdocs/plugins/Deployment/cli/export-customlayouts.sh

```

Import all custom sql files:

```
./htdocs/plugins/Deployment/cli/import-customsql.sh

```

Deployment to server
--------------------

[](#deployment-to-server)

When deploying your project to a server, the deployment script would typically execute these commands after deploying the updated code:

```
./vendor/youwe/pimcore5deployment/bin/clear-classes.sh
./vendor/youwe/pimcore5deployment/bin/import-field-collection.sh
./vendor/youwe/pimcore5deployment/bin/import-definition.sh
./vendor/youwe/pimcore5deployment/bin/import-customlayout.sh
./vendor/youwe/pimcore5deployment/bin/import-bricks.sh
./vendor/youwe/pimcore5deployment/bin/import-field-collection.sh
./vendor/youwe/pimcore5deployment/bin/import-staticdata.sh
./vendor/youwe/pimcore5deployment/bin/import-customsql.sh

```

NOTE: the import-field-collection is in twice, because the definition and field collection refer to each other. Its very important to run it twice and in this order!

Initial (first-time) deployment to server \[ not relevant until content-migration works \]
------------------------------------------------------------------------------------------

[](#initial-first-time-deployment-to-server--not-relevant-until-content-migration-works-)

Be careful not to install this plugin on your server, because it would generate a pimcore table for itself using an improvised ID. Rather follow this route:

- On your development machine, enable the plugin and install the plugin (from the Extras -&gt; Extensions menu).
- This will generate a pimcore data table called DeploymentDataMigration
- After this is done, use the export-definition command to export all pimcore data table definitions to json files.
- Now you will run the import-definition command on the server and all the data tables will be generated from json files.
- The plugin will enable itself.
- By creating the data tables from the json files, the DeploymentDataMigration datatable is also created.
- This means the plugin is installed.

Update system.php and config.php from ini files \[ not upgraded to pimcore 5 - not sure if necessary \]
-------------------------------------------------------------------------------------------------------

[](#update-systemphp-and-configphp-from-ini-files--not-upgraded-to-pimcore-5---not-sure-if-necessary-)

System.php can be update with:

```
    ./plugins/PimcoreDeployment/cli/update-mysql-credentials.sh --mysql-credentials-path [PATH_TO_INI_FILE]

```

The ini file structure that we expect is:

```
 * mysql_hostname=[HOSTNAME]
 * mysql_port=[PORT]
 * mysql_database=[DATABASE_NAME]
 * mysql_user=[DATABASE_USERNAME]
 * mysql_password=[DATABASE_PASSWORD]

```

Cache.php can be update with:

```
    ./plugins/PimcoreDeployment/cli/update-redis-credentials.sh --redis-credentials-path [PATH_TO_INI_FILE]

```

The ini file structure that we expect is:

```
 * redis_hostname=[HOSTNAME]
 * redis_port=[PORT]
 * redis_database=[DATABASE]

```

Keep in mind that because a lot of environments do not have cache.php the command will create a default one for you and update its values from ini file

Troubleshooting
---------------

[](#troubleshooting)

Before importing the definitions, you might need to set the correct permissions, in order for this script to be able to write to the definition files. In case of local development, a low security solution like the following could be used:

```
sudo chmod -R 777 .

```

Installation
------------

[](#installation)

Plugin can be installed through composer. Add json to your composer.json:

```
composer require youwe/pimcore5deployment

```

Plugin development
------------------

[](#plugin-development)

To create a new version, check out the master branch somewhere and go:

```
git tag
git tag 0.xxx         (minor update = latest tag + 0.1)
git push origin --tags

```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 71.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~9 days

Recently: every ~28 days

Total

15

Last Release

2776d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d1aea28c806322edb89f68278b28e8e95d5daeff723b442fa6eef3449c2b7fe8?d=identicon)[youweagency](/maintainers/youweagency)

![](https://www.gravatar.com/avatar/c02ea57a258994d3f586ba5c58bd3d66bac8567bd5501466bb75a0faad786aa9?d=identicon)[jorisros](/maintainers/jorisros)

![](https://www.gravatar.com/avatar/1dfe843a2613a05fdb04713b6b6fb8d65437ec8988daaf1dbf649045b1763189?d=identicon)[osm](/maintainers/osm)

![](https://www.gravatar.com/avatar/f40aaa831d41d5e1709421b72b3165cfcc79ce1a651057ca804c32d62b5af2bc?d=identicon)[Sunohara666](/maintainers/Sunohara666)

![](https://www.gravatar.com/avatar/b7d57363f8d583694f0974e61b6ba994048f369adb55e7df5734947e5a4b1b89?d=identicon)[Youwe](/maintainers/Youwe)

---

Top Contributors

[![paulovitorbal](https://avatars.githubusercontent.com/u/1259996?v=4)](https://github.com/paulovitorbal "paulovitorbal (5 commits)")[![o](https://avatars.githubusercontent.com/u/179912?v=4)](https://github.com/o "o (1 commits)")[![Sunohara666](https://avatars.githubusercontent.com/u/20945873?v=4)](https://github.com/Sunohara666 "Sunohara666 (1 commits)")

### Embed Badge

![Health badge](/badges/youwe-pimcore5deployment/health.svg)

```
[![Health](https://phpackages.com/badges/youwe-pimcore5deployment/health.svg)](https://phpackages.com/packages/youwe-pimcore5deployment)
```

###  Alternatives

[deployer/deployer

Deployment Tool

11.0k25.4M206](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
