tuxboy/sdam

该软件包最新版本(1.0.5)没有可用的许可证信息。

1.0.5 2018-10-23 08:14 UTC

This package is auto-updated.

Last update: 2024-09-24 05:30:52 UTC


README

Build Status

SDAM(简单数据库自动迁移)

管理您的PHP应用的数据库迁移,这个库是为了使您的迁移在应用中自动启动而制作的

这里有使用演示 在这里

安装

    "require": {
        "tuxboy/sdam": "dev-master",
    },
    "repositories": [
        {
            "type": "vcs",
            "url":  "git@github.com:tuxboy/sdam.git"
        }
    ],

或使用Packagist

$ composer require tuxboy/sdam

如何使用它

\SDAM\Config::current()->configure(
    [
        \SDAM\Config::DATABASE => [
            'dbname'   => 'database_name',
            'user'     => 'root',
            'password' => '',
            'host'     => 'localhost',
            'driver'   => 'pdo_mysql',
        ], // OR use .env for the database config
        \SDAM\Config::ENV_FILE        => 'path/your/.env'
        \SDAM\Config::ENTITY_PATH     => 'App\Entity\\',
        \SDAM\Config::AUTO_DROP_FIELD => false, // Optional (default value is true)
    ]
);

// Run migration engine in your app
$maintainer = new Maintainer([Entity::class]);
$maintainer->run();

// OR use middleware class
$maintainer = new \SDAM\Middleware\MaintainerMiddleware([\App\Entity\Post::class], $config);
$app->pipe($maintainer);

中间件使用这些参数构建

  • 实体列表,string[]
  • $config,string[]

用法

创建您的实体类,例如Post实体

namespace App\Entity;

/**
 * Post
 *
 * @storeName custom_table_name
 */
class Post
{

    /**
     * @length 60
     * @var string
     */
    public $name;

    /**
     * @var string
     */
    public $slug;

    /**
     * @store false
     * @var string
     */
    public $tmp_property;

    /**
     * @text
     * @var string
     */
    public $content;
        
}

您可以在类AnnotationsName中查看可能的注解列表

只需启动迁移,如果您在应用(中间件)中启用了F5,则可以简单地按F5,或者使用其他方法。您的数据库中将会创建表。

待办事项

  • 管理belongsToMany关系
  • 在创建时更好地管理已存在的表(删除php警告)
  • 完成工厂系统。