Download the PHP package jorgemddev/kumbiaphp-migrations without Composer

On this page you can find all versions of the php package jorgemddev/kumbiaphp-migrations. 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 kumbiaphp-migrations

KumbiaPHP Migrations

Propósito del Proyecto

KumbiaPHP Migrations nace de la necesidad de proporcionar un sistema robusto de versionado y gestión de cambios en esquemas de base de datos para KumbiaPHP, un framework que actualmente carece de esta funcionalidad.

El framework KumbiaPHP es poderoso pero no contaba con un sistema nativo de migraciones de base de datos. Este proyecto fue desarrollado como solución integral, inspirado en Laravel Migrations — uno de los sistemas más maduros y confiables de la comunidad PHP — adaptado específicamente para las características y estructura de KumbiaPHP.

Nota sobre el desarrollo: Este proyecto fue desarrollado con la asistencia de IA, asegurando código de calidad, moderno y mantenible.


¿Qué es?

Un sistema de migraciones que permite:

Requisitos

Instalación

Vía Composer (recomendado)

El plugin copia automáticamente los binarios a app/bin/ al instalar. Luego crea la tabla de control:

Manual

Copia la carpeta src/ dentro de app/libs/ de tu proyecto KumbiaPHP:

Luego crea la tabla de control en tu base de datos:

Configuración

El sistema lee la configuración desde app/config/databases.php. Debe retornar un array con las conexiones:

El entorno se detecta automáticamente: si la constante PRODUCTION está definida y es true, se usa la conexión production; de lo contrario, development.

Comandos

Todos los comandos se ejecutan desde la raíz del proyecto:

Crear migraciones

Esto genera un archivo en app/migrations/ con el formato YYYY_MM_DD_HHMMSS_nombre.php.

Escribir migraciones

Cada migración es una clase PHP con dos métodos: up() para aplicar el cambio y down() para revertirlo.

Crear una tabla

Modificar una tabla existente

Modificar columna existente

Tabla con clave foránea

Tipos de columnas disponibles

Método Tipo SQL
bigIncrements('id') BIGINT UNSIGNED AUTO_INCREMENT PK
increments('id') INT UNSIGNED AUTO_INCREMENT PK
string('col', 255) VARCHAR
char('col', 10) CHAR
text('col') TEXT
mediumText('col') MEDIUMTEXT
longText('col') LONGTEXT
integer('col') INT
tinyInteger('col') TINYINT
smallInteger('col') SMALLINT
bigInteger('col') BIGINT
unsignedInteger('col') INT UNSIGNED
unsignedBigInteger('col') BIGINT UNSIGNED
float('col', 8, 2) FLOAT
double('col') DOUBLE
decimal('col', 10, 2) DECIMAL
boolean('col') TINYINT(1)
enum('col', ['a','b']) ENUM
json('col') JSON
date('col') DATE
dateTime('col') DATETIME
timestamp('col') TIMESTAMP
timestamps() created_at + updated_at
softDeletes() deleted_at nullable
binary('col') BLOB
uuid('col') CHAR(36)
ipAddress('col') VARCHAR(45)
macAddress('col') VARCHAR(17)

Modificadores de columna

Se encadenan sobre cualquier definición de columna:

Modificador Descripción
->nullable() Permite NULL
->default($valor) Valor por defecto
->unsigned() Sin signo (MySQL)
->unique() Índice único
->index() Índice normal
->after('columna') Posición (MySQL)
->first() Primera posición (MySQL)
->comment('texto') Comentario (MySQL)
->useCurrent() DEFAULT CURRENT_TIMESTAMP
->change() Modificar columna existente

Claves foráneas

Índices

Operaciones de esquema

Introspección de base de datos

Permite inspeccionar la estructura actual de la base de datos. Compatible con MySQL, PostgreSQL y SQLite.

Listar tablas

Columnas de una tabla

Cada elemento retorna:

Campo Descripción
name Nombre de la columna
type Tipo de dato (varchar(255), int, etc.)
nullable true si acepta NULL
default Valor por defecto o null
key PRI, UNI, MUL (MySQL) / PRIMARY (otros) / null
extra auto_increment, etc. (MySQL)
comment Comentario de la columna (MySQL)

Índices de una tabla

Cada elemento retorna:

Campo Descripción
name Nombre del índice
columns Array de columnas que lo componen
unique true si es único
primary true si es la clave primaria

Claves foráneas de una tabla

Cada elemento retorna:

Campo Descripción
name Nombre de la constraint
columns Columnas locales
on_table Tabla referenciada
references Columnas referenciadas
on_delete Acción ON DELETE (CASCADE, RESTRICT, SET NULL, NO ACTION)
on_update Acción ON UPDATE

Uso con conexión específica

Todos los métodos de introspección respetan la conexión activa:

Seeders

Los seeders poblan la base de datos con datos iniciales o de prueba. Se ubican en app/database/seeds/.

Crear un seeder

DatabaseSeeder principal

Ejecutar seeders

Métodos disponibles en Seeder

Flujo de trabajo recomendado

Despliegue en producción

Advertencia: No ejecutes --reset ni --refresh en producción. Solo migrate para aplicar los cambios pendientes.

Estructura de archivos

Licencia

Este proyecto está bajo licencia MIT. Siéntete libre de usarlo, modificarlo y distribuirlo.


Desarrollado con IA para la comunidad de KumbiaPHP 🚀


All versions of kumbiaphp-migrations with dependencies

PHP Build Version
Package Version
Requires php Version >=7.0
ext-pdo Version *
composer-plugin-api Version ^2.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 jorgemddev/kumbiaphp-migrations contains the following files

Loading the files please wait ...