locomotivemtl / charcoal-contrib-database-migrator
数据库迁移的Charcoal服务提供商。
0.1.1
2021-06-11 16:32 UTC
Requires
- php: >7.1
- ext-pdo: *
- locomotivemtl/charcoal-app: *
- locomotivemtl/charcoal-config: *
- locomotivemtl/charcoal-core: *
- locomotivemtl/charcoal-factory: *
Requires (Dev)
- php-coveralls/php-coveralls: ^2.2
- phpunit/phpunit: ^7.1
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-11 23:56:25 UTC
README
A Charcoal service provider with cool features.
目录
安装
首选(也是唯一支持的)方法是使用Composer
$ composer require locomotivemtl/charcoal-contrib-database-migrator
依赖项
必需
- PHP 7.2+: 建议使用 PHP 7.3+。
PSR
配置
在你的项目配置文件中,如此require迁移器模块
{ "modules": { "charcoal/migrator/migrator": {} } }
可选地,你也可以在项目配置文件中使用database.migrator
键覆盖一些迁移器配置
{ "database": { "migrator": { "migrations": { "search_paths": [ "path/to/some/migrations", "path/to/some/custom/migrations" ] } } } }
使用方法
运行迁移
只需在控制台中运行此命令即可启动迁移过程
$ vendor/bin/charcoal admin/database/migrate
CLI UI将逐步引导您。
创建新迁移
迁移应始终扩展AbstractMigration
MigrationYYYYMMDDHHMMSS.stub可以用作创建新迁移的起点。只需将其复制粘贴到需要新迁移的包中。
迁移应始终命名为MigrationYYYYMMDDHHMMSS.php
以方便阅读。
迁移文件包含一个遵循以下准则的PHP类
- 在类名中包含修复此迁移的提交时间戳,前面加上
migration
- 有一个
up
方法,以及可选的down
方法,以便迁移工具在版本升级或降级时处理迁移。 - 有一个
description
方法来简要说明迁移
你可以在迁移上实现setDependencies方法。
/** * Inject dependencies from a DI Container. * * @param Container $container A Pimple DI service container. * @return void */ protected function setDependencies(Container $container) { // This method is a stub. // Reimplement in children method to inject dependencies in your class from a Pimple container. }
你还可以使用init()
函数处理需要在up
和down
方法中都需要的数据。
将迁移注入到迁移器
只要迁移遵循上述准则,它就会被迁移器自动解析。无需做更多。
开发
要安装开发环境
$ composer install
要运行脚本(phplint、phpcs和phpunit)
$ composer test
API 文档
- 自动生成的
phpDocumentor
API文档可在以下位置找到
https://locomotivemtl.github.io/charcoal-contrib-database-migrator/docs/master/ - 自动生成的
apigen
API文档可在以下位置找到
https://codedoc.pub/locomotivemtl/charcoal-contrib-database-migrator/master/
开发依赖
- [php-coveralls/php-coveralls][phpcov]
- [phpunit/phpunit][phpunit]
- [squizlabs/php_codesniffer][phpcs]
编码风格
charcoal-contrib-database-migrator模块遵循Charcoal编码风格
- PSR-1
- PSR-2
- PSR-4,因此自动加载由Composer提供。
- phpDocumentor注释。
- phpcs.xml.dist 和 .editorconfig 用于编码标准。
可以使用
composer phpcs
进行编码风格验证/执行。还有composer phpcbf
提供的自动修复工具。
致谢
许可证
Charcoal 依据 MIT 许可证授权。详细信息请参阅 LICENSE。