thatobabusi / laravel-migrations-ui
Laravel数据库迁移的基于Web的图形用户界面。
Requires
- php: >=7.1.3
- doctrine/dbal: ^2.0
- laravel/framework: >=5.6
Requires (Dev)
- mockery/mockery: ^1.3
- nunomaduro/collision: ^3.0|^4.1
- orchestra/testbench: >=3.6
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^7.0|^8.0
README
**截至2020年7月27日,我创建了此分支以接管并单独使用它,因为Dave不再支持主仓库。此外,当我执行composer install/update/dumpautoload等操作时,也厌倦了收到“包不再受支持”的通知。
— Thato
截至2020年4月18日,Laravel Migrations UI不再维护。
我最初计划构建一个用于生成迁移的GUI,而不仅仅是运行迁移,但这花费了大约18个月才取得目前的进展(原始的线框图最初不在Git中)而且我认为我不太可能很快回过头来做这件事。
如果您想创建自己的分支以修复错误或添加新功能,请参阅下方的说明。MIT许可证要求您保留版权声明和许可信息,但除此之外,您可以自由地使用代码和文档。
— Dave
Laravel Migrations UI
Laravel的基于Web的GUI,用于(即将推出)创建(运行迁移)。
目录
兼容性图表
安装
composer require --dev thatobabusi/laravel-migrations-ui
可选:发布和编辑配置文件(config/migrations-ui.php
)
php artisan vendor:publish --tag=migrations-ui-config
然后访问/migrations
(或配置文件中设置的路径)。
出于安全考虑,默认情况下,如果APP_ENV=local
和APP_DEBUG=true
,或者您在.env
中设置MIGRATIONS_UI_ENABLED=true
,则Migrations UI才会激活。您不应在生产环境或任何公开访问的环境中启用它,这将是一个重大的安全漏洞!
贡献
文档:如果您认为文档可以在任何方面得到改进,请编辑此文件并创建一个pull request。
错误修复:请修复它并创建一个pull request。有关更详细的说明,请参阅下文。(如果添加了单元测试以确保不会再次发生,则可获得加分!)
新功能:请构建它并创建一个pull request。如果您在开始大量工作之前想要讨论,请创建一个原型(可以是代码或文档)并创建一个草稿PR以讨论详细信息。
创建pull request
在Laravel Migrations UI上工作的最简单方法是告诉Composer使用--prefer-source
标志从源(Git)安装它
rm -rf vendor/thatobabusi/laravel-migrations-ui composer install --prefer-source
然后检出master分支并创建自己的本地分支进行工作
cd vendor/thatobabusi/laravel-migrations-ui
git checkout -t origin/master
git checkout -b YOUR_BRANCH
现在进行您的更改,包括单元测试和文档(如果适用)。运行单元测试以确保一切正常工作
scripts/test.sh
然后提交更改。如果您还没有这样做,请在GitHub上Fork仓库,并将您的更改推送到它
git remote add YOUR_USERNAME git@github.com:YOUR_USERNAME/laravel-migrations-ui.git git push -u YOUR_USERNAME YOUR_BRANCH
最后,浏览到GitHub上的仓库并创建一个pull request。
(或者,您可以使用测试应用.)
在项目中使用您的Fork
要使用您自己的Fork在项目中,按照以下方式更新主项目中的composer.json
{ // ADD THIS: "repositories": [ { "type": "vcs", "url": "https://github.com/YOUR_USERNAME/laravel-migrations-ui.git" } ], "require": { // UPDATE THIS: "thatobabusi/laravel-migrations-ui": "dev-YOUR_BRANCH" } }
将YOUR_USERNAME
替换为您的GitHub用户名,将YOUR_BRANCH
替换为分支名称(例如develop
)。这告诉Composer使用您的仓库而不是默认仓库。
单元测试
要运行单元测试
scripts/test.sh
要检查代码覆盖率
scripts/test-coverage.sh
然后打开test-coverage/index.html
来查看结果。请注意,PHPUnit中的边缘情况可能会使其不够准确。
Laravel的新版本
在composer.json
中没有指定最大版本,因此不需要每6个月发布新的Laravel Migrations UI版本。但是,需要更新此文件以针对新版本运行测试
.travis.yml
matrix
(Laravel版本)php
(PHP版本)exclude
(不受支持的组合)
如果需要更改,请也更新
如果向后不兼容的更改导致Laravel或PHP的最低支持版本发生变化,请更新
composer.json
php/*
illuminate/*
发布新版本
本节仅适用于维护者。
- 确保单元测试已更新并具有100%的覆盖率(对于PHP代码)
- 在生产模式下构建资源(
yarn build
),如果有所更改则提交 - 如果适用,更新测试应用,并手动测试它
- 确保README是最新的,包括
- (如果需要)将更改合并到
master
分支 - 将代码更改推送到GitHub(
git push
) - 确保所有测试都通过
- 标记发布(
git tag 1.2.3
) - 推送标签(
git push --tag
)
无技术支持
抱歉,我不提供任何技术支持,GitHub问题已禁用。这意味着我不会找出为什么它对您不起作用,我不会为您修复错误,也不会根据您的要求编写新功能——毕竟这是免费软件。
但是开源的魅力在于您可以随心所欲地使用它!您可以Fork它、修复它、改进它并扩展它。如果您不想维护自己的Fork,并且认为其他人会从您的更改中受益,您可以将更改提交为pull request,以便您的更改包含在下一个版本中。
如果您真的卡住了,我建议您
- 阅读并重新阅读此文件和Laravel文档,看看是否有什么遗漏。
- 深入了解源代码,花些时间弄清楚它应该如何工作以及实际上发生了什么。
- 尝试在一个全新的Laravel项目中重现问题,以防它是与另一个包或您的其他代码的不兼容性。
- 如果您在一个团队中工作,请让您的同事帮助您调试。
- 请经验更丰富的人帮助您(或者如果您在一家公司工作,请让您的老板支付他们的费用)。
- 尝试在 Stack Overflow、Laravel.io 论坛 或 Laracasts 论坛 上发表帖子(但我不保证有人会回答 - 他们也没有报酬)。
- 使用不同的包。
- 自己编写。
变更日志
Laravel Migrations UI 使用 语义化版本控制。
v1.0.3(2020年2月29日星期六)
- 修复了 Telescope 迁移没有被选中,因为它们只在控制台中注册的问题
- 当任何动作运行时,将所有按钮变灰
v1.0.2(2020年2月23日星期日)
- 更好的错误处理,针对各种边缘情况
- 从生产构建中排除了一些不必要的文件
v1.0.1(2020年2月23日星期日)
- 修复了 Laravel 5.6、5.7 中的错误(
Collection
类没有join()
方法)
v1.0.0(2020年2月22日星期六)
- 第一个稳定版本
许可
版权所有 © 2019-2020 Dave James Miller
本软件及所附文档文件(以下简称“软件”)的副本,任何人均可免费获得,并可不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件的副本,并允许获得软件的人进行此类操作,但须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的质量保证,无论是明示的、暗示的,还是与特定目的相关的,或侵犯版权的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是因合同、侵权或其他原因引起的,以及与软件或软件的使用或其他操作有关。