Download the PHP package semitexa/update without Composer

On this page you can find all versions of the php package semitexa/update. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package update

Semitexa Update

semitexa/update owns the update lifecycle of a Semitexa application — package version detection, plan building, ORM schema synchronization, and post-schema data patches. It is not a schema migration system.

Ownership boundary

Layer Owner Tools
Database schema (tables, columns, indexes, foreign keys, safe-rename, deprecate-then-drop) semitexa-orm orm:diff, orm:sync, orm:status
Update orchestration (preflight, package version detection, sequencing) semitexa-update update, update:plan, update:status, update:packages:*
Post-schema data patches (backfills, normalizations, default-row creation) semitexa-update #[AsDataPatch] + update
Developer tooling semitexa-dev make:*, ai:*, dev-graph

A data patch must never issue DDL. Schema changes go through ORM. The runner enforces this with a DDL-keyword guard at apply time.

What this package does

What this package does not do

Authoring a data patch

Identity is (module, id) — stable across class renames. The combined form module:id is what the journal and dependency declarations use. Phase ordering is global; dependency ordering is applied within the same phase.

Required attribute fields

Field Type Purpose
id string Per-module stable patch id. MUST NOT change once shipped.
module string Owning composer package.
phase UpdatePhase Pre / Apply / Post relative to ORM schema sync. Default: Apply.
dependencies list<string> Other patch identities (module:id) that must apply first.
requires list<class-string> [FromTable]-attributed entities the patch reads/writes. Runner verifies their tables and columns are live in DB.
requiresColumns array<string, list<string>> Explicit table => columns map for ad-hoc column gating.
minSemitexa / maxSemitexa ?string Optional framework version range. Enforced when the caller provides the current Semitexa version to the runner/orchestrator.
description ?string Operator-facing summary.
reversible bool Whether the patch class defines a revert() method.

Schema compatibility gate

Before the runner executes a patch it consults SchemaCompatibilityChecker. If any of the requires entities or requiresColumns entries are missing from the live database, the patch is skipped (not failed) — no journal row is written, and the operator is told why in the run report. The fix is to bring the schema forward via orm:sync, then re-run update.

DDL guard

DataPatchContext::execute() and query() reject SQL whose first non-comment token is CREATE, ALTER, DROP, RENAME, or TRUNCATE. The runner throws a PatchSafetyException in that case. Schema mutations belong to the ORM.

CLI commands

Each accepts --connection=<name> and defaults to default.

Run journal & changelog

Every mutating update run and every auto-deploy attempt writes one row to platform_update_run_journal (stages, package version deltas, actor, outcome, duration). update:history and update:changelog read it; a run lock in var/lock/semitexa-update.lock serializes both paths.

Per-package release notes convention: each package keeps a CHANGELOG.md at its root with sections ## <version> — <date> (newest first, v prefix and date optional, ## Unreleased on top). update:changelog resolves a version delta to those sections from vendor/semitexa/<name>/CHANGELOG.md (consumer) or packages/semitexa-<name>/CHANGELOG.md (dev workspace).

When to use this package

When not to use this package

Package update / framework auto-deploy / remote bootstrap

This package also owns the operational commands that detect, plan, and apply Semitexa package updates for a project. Schema changes still flow through ORM; package updates are purely about composer-level version bumps and the orchestration that supports them.

Configuration

Auto-deploy is opt-in:

Remote first-deployment (Ubuntu 20.04+):

Operator commands

Command Purpose
update:packages:check Inspect auto-deploy state + discover newer Semitexa releases
update:packages:auto Execute the package update flow when enabled and updates are available
update:packages:bootstrap-remote Bootstrap a fresh remote server for first deployment
update:packages:materialize Generate a production-friendly composer manifest with exact semitexa/* versions

Production polling install:

The systemd wrapper (packages/semitexa-update/tools/run-auto-deploy-systemd.sh) calls update:packages:auto and reruns bin/semitexa server:start when restart_required=true, then performs the configured HTTP healthcheck.

Production deploy systemd units

The installer above provisions two independent unit pairs, decoupled on purpose:

Unit Purpose
semitexa-auto-deploy.service Composer-updates semitexa/* and restarts the runtime when needed.
semitexa-auto-deploy.timer Periodic poll (default 15m, RandomizedDelaySec=1m). update:packages:auto short-circuits when nothing's new, so polling is cheap.
semitexa-refresh-install-sh.service Atomically refreshes packages/semitexa-ultimate/install.sh from upstream master.
semitexa-refresh-install-sh.timer Periodic refresh (default 10m). Independent of the deploy — install.sh stays current even when the application deploy is failing.

semitexa-auto-deploy.service runs composer update 'semitexa/*' --with-all-dependencies --prefer-dist --no-dev --no-interaction --optimize-autoloader. The --prefer-dist flag is mandatory: production vendor/semitexa/* is shipped as dist (no .git/), so without it composer may pick source mode for some packages and fail with GitDownloader.php line 155: The .git directory is missing.

Install / update on production

Verify

Manually trigger

Inspect logs

Removing the legacy ExecStartPost drop-in

Hosts provisioned before the refresh-install-sh units existed may still carry /etc/systemd/system/semitexa-auto-deploy.service.d/10-refresh-install-sh.conf, which refreshed install.sh from inside ExecStartPost. Once the new semitexa-refresh-install-sh.timer is enabled, that drop-in is redundant — remove it so install.sh refresh stops being parasitic on a successful deploy:


All versions of update with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
semitexa/core Version *
semitexa/orm Version *
symfony/console Version ^6.0 || ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package semitexa/update contains the following files

Loading the files please wait ...