PHPackages                             wernerkrauss/elemental-migration - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. wernerkrauss/elemental-migration

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

wernerkrauss/elemental-migration
================================

A migration tool for Silverstripe's Elemental V1 (SS3) to V2 (SS4) and above.

12031[1 PRs](https://github.com/wernerkrauss/elemental-migration/pulls)PHPCI failing

Since Mar 3Pushed 6y ago2 watchersCompare

[ Source](https://github.com/wernerkrauss/elemental-migration)[ Packagist](https://packagist.org/packages/wernerkrauss/elemental-migration)[ RSS](/packages/wernerkrauss-elemental-migration/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (2)Used By (0)

Elemental Migration Task [![Build Status](https://camo.githubusercontent.com/3b2c26f71e42a4b8e44564c493f1e05c5b8ba8ffbc44a13e5d01d4f2cbaf84af/68747470733a2f2f7472617669732d63692e6f72672f7765726e65726b72617573732f656c656d656e74616c2d6d6967726174696f6e2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/wernerkrauss/elemental-migration)
========================================================================================================================================================================================================================================================================================================================================================

[](#elemental-migration-task-)

A migration tool for Silverstripe's Elemental V1 (SS3) to V2 (SS4) and above. Use at your own risk!

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

[](#installation)

I suggest to add this task as a development requirement;

```
composer require --dev wernerkrauss/elemental-migration

```

Run the task
------------

[](#run-the-task)

1. Backup your database
2. Research changes in Elemental and its elements
3. Rename element tables that have changed. This might be more secure than relying on the built in copy mechanism.
4. run the task, e.g. by calling `/dev/tasks/Netwerkstatt-ElementalMigration-Task-ElementalMigration`
5. enjoy!

What it does
------------

[](#what-it-does)

Elemental 1 (Silverstripe CMS 3) was based on the Widget module. From Elemental 2 (Silverstripe CMS 4) it didn't have this dependency. This also meant some huge changes in the database structure.

The migration task creates ElementAreas according to the old WidgetAreas, syncs some important data from Widget to the Element table, updates ClassNames and can copy over data from tables that have been renamed. It's tested for [Elemental](https://github.com/dnadesign/silverstripe-elemental) and [Elemental Virtual](https://github.com/dnadesign/silverstripe-elemental-virtual)

What it does not
----------------

[](#what-it-does-not)

It does not migrate [Elemental Virtual List](https://github.com/dnadesign/silverstripe-elemental-list).

Configuration
-------------

[](#configuration)

For updating the ClassName property the task relies on `SilverStripe\ORM\DatabaseAdmin.classname_value_remapping` config.

If the table name has changed you can either rename the table (incl. Versions and Live table) before running dev/build, or you can configure the migration task to copy over the values to the renamed table by adding the old =&gt; new map to `Netwerkstatt\ElementalMigration\Task\ElementalMigration.data_migration`. This mechanism does not check if every field from the old table exists on the new table and might break easily.

See [legacy.yml](_config/legacy.yml) for examples.

Acknowledgments
---------------

[](#acknowledgments)

A big thank you to [Andy Adiwidjaja](http://www.adiwidjaja.com/) for asking me to write this migration task and giving permission to open source the module.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

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

---

Top Contributors

[![wernerkrauss](https://avatars.githubusercontent.com/u/1043925?v=4)](https://github.com/wernerkrauss "wernerkrauss (4 commits)")

### Embed Badge

![Health badge](/badges/wernerkrauss-elemental-migration/health.svg)

```
[![Health](https://phpackages.com/badges/wernerkrauss-elemental-migration/health.svg)](https://phpackages.com/packages/wernerkrauss-elemental-migration)
```

###  Alternatives

[alexsabur/orchid-editorjs-field

A orchid editorjs field

1327.4k](/packages/alexsabur-orchid-editorjs-field)[joungkyun/ereg-extension-wrapper

pure PHP EREG extension wrapper

102.5k](/packages/joungkyun-ereg-extension-wrapper)

PHPackages © 2026

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