tuxboy / sdam
该软件包最新版本(1.0.5)没有可用的许可证信息。
1.0.5
2018-10-23 08:14 UTC
Requires
- php: >=7.1.0
- doctrine/dbal: ^2.7
- fzaninotto/faker: ^1.8
- icanboogie/inflector: ^1.4
- php-di/phpdoc-reader: ^2.1
- psr/http-message: ^1.0
- vlucas/phpdotenv: ^2.4
Requires (Dev)
- phpunit/phpunit: ^7.2
- satooshi/php-coveralls: ^1.0
- symfony/var-dumper: ^4.1
README
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警告)
- 完成工厂系统。