morningtrain/wp-database

Laravel Eloquent and Migrations for WordPress

v0.3.0 2023-11-09 10:58 UTC

This package is auto-updated.

Last update: 2024-10-09 13:01:23 UTC


README

A Morningtrain package that implements Laravel Eloquent and Migrations into WordPress.

Table of Contents

Introduction

Getting Started

To get started install the package as described below in Installation.

To use the tool have a look at Usage

Installation

Install with composer

composer require morningtrain/wp-database

Dependencies

illuminate/database

Database

Usage

Initializing package

<?php
    Database::setup(__DIR__ . "/database/migrations");

If you want to use migrations from multiple directories you can do, by calling the setup method multiple times.

Creating a Model

In app/Models

// Foo.php
<?php

    namespace MyProject\App\Models;

    /**
     * @property int $id
     * @property string $title
     */
    class Foo extends \Illuminate\Database\Eloquent\Model
    {
        public $timestamps = false;
        protected $table = 'foo';
    }

Creating a Migration

wp make:migration create_foo_table

If there is multiple migration paths, you will be asked to choose one.
Will create a new migration file for you with Schema::create('foo') already prepared.

Running migrations

You can run all new migrations like so:

Using wp cli:

wp dbmigrate

Using php:

<?php
    \Morningtrain\WP\Database\Database::migrate();
?>

Credits

Testing

composer test

License

The MIT License (MIT). Please see License File for more information.