PHPackages                             neam/dna-project-base-data-set-management - 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. neam/dna-project-base-data-set-management

ActiveLibrary

neam/dna-project-base-data-set-management
=========================================

DNA Project Base Data Set Management

1.0.0(8y ago)09BSD-3-ClauseShellPHP &gt;=5.4.0

Since Jun 28Pushed 8y ago1 watchersCompare

[ Source](https://github.com/neam/dna-project-base-data-set-management)[ Packagist](https://packagist.org/packages/neam/dna-project-base-data-set-management)[ Docs](https://github.com/neam/yii-dna-pre-release-testing)[ RSS](/packages/neam-dna-project-base-data-set-management/feed)WikiDiscussions develop Synced 2mo ago

READMEChangelogDependencies (5)Versions (3)Used By (0)

DNA Project Base Data Set Management
====================================

[](#dna-project-base-data-set-management)

Handles import/export/backup/restore of database data for testing and client-specific debugging purposes, as well as pre-release-upgrade testing with fake data and cloned real user data.

Rationale and definitions
-------------------------

[](#rationale-and-definitions)

We want to be able to develop/test the code both starting from an empty database, and with data imported from a production deployment. These two testing-data-scenarios are referred to as "clean-db" vs "user-generated", and all acceptance tests should be grouped into one or both of these. The "clean-db" data is saved in db/migration-base/clean-db/, the user-generated schema is saved in s3://user-data-backups at the path specified within files located in db/migration-base/user-generated/

User-generated data
-------------------

[](#user-generated-data)

User generated data is backed up to S3 by running a command specified in the readme. This includes the schema, table data and uploaded user media.

Database migrations
-------------------

[](#database-migrations)

Handled by Propel.

DATA profiles
=============

[](#data-profiles)

Since there may be multiple independent databases deployed, one may keep track of them separately by creating data profiles. That is, instead of simply having "clean-db" and "user-generated" variants, we can create any new dataset and call it for instance "customer1" to be able to track the data set of that particular customer-deployment.

FAQ
---

[](#faq)

### How are new DATA profiles added?

[](#how-are-new-data-profiles-added)

Create a new data profile using the helper script, then upload the current current user-generated data to S3, commit the references and profile-related files in dna (anything with in it's path) and push.

```
vendor/neam/dna-project-base-data-set-management/shell-scripts/new-data-profile.sh
vendor/neam/dna-project-base-data-set-management/shell-scripts/upload-user-data-backup.sh
# then run the three commands to update the data refs
# commit and push

```

### Removing applied migrations in order to remove clutter

[](#removing-applied-migrations-in-order-to-remove-clutter)

Run the following to take the current user-generated schema and copies it to the migration base of the clean-db schema. This makes the default schema to be identical with the user-generated version, and this routine should be done after a release (ie when migrations have been run in production) so that already production-applied migrations can be removed from the current codebase in order to minimize clutter.

```
export DATA=example
vendor/neam/dna-project-base-data-set-management/shell-scripts/post-release-user-generated-schema-to-clean-db-schema-routine.sh
# then, manually remove already applied migrations

```

A comment: Migrations are crucial when it comes to upgrading older deployments to the latest schema. If, however, there are no need of upgrading older deployments to the latest schema and code, migrations may instead add to the maintenance and development routines burden without adding value to the project. This is for instance the case during early development where there are no live deployments, or when all live deployments have run all migrations to date and there is no need to restore from old backups.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3240d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

phpdbversioningyiidna

### Embed Badge

![Health badge](/badges/neam-dna-project-base-data-set-management/health.svg)

```
[![Health](https://phpackages.com/badges/neam-dna-project-base-data-set-management/health.svg)](https://phpackages.com/packages/neam-dna-project-base-data-set-management)
```

###  Alternatives

[simple-swoole/db

A db component for Simps.

216.3k3](/packages/simple-swoole-db)

PHPackages © 2026

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