dyrynda/vagabond

无家可归的Eloquent

安装: 111

依赖项: 0

建议者: 0

安全: 0

星星: 48

关注者: 4

分支: 5

公开问题: 1

类型:项目

2.0.0 2018-04-09 14:04 UTC

This package is auto-updated.

Last update: 2024-09-06 14:54:21 UTC


README

关于Vagabond

Vagabond是一个项目,让您能够利用Nomad - Laravel风格的数据库迁移,无论它们在哪里。

Nomad让您能够获得Laravel的数据库迁移的功能,无需安装完整的Laravel。

这在您有多个应用程序访问单个数据库,但不确定哪个应该负责管理数据库模式时特别有用。通过将迁移提取到单独的存储库中,您可以完全控制数据库模式版本控制,而不用担心不同的应用程序试图在同一个数据库上运行迁移。

此外,您还可以更轻松地在使用应用程序测试套件中使用这些集中式迁移,而无需复制迁移或运行自己的数据库副本。

安装

要创建新的Vagabond项目,您可以使用Composer

composer create-project --prefer-dist dyrynda/vagabond wanderer

安装后,您将能够访问nomad应用程序,默认配置以与sqlite数据库一起工作,以及一个VagabondServiceProvider。您可以扩展此服务提供程序来自动加载每个连接的配置。您需要做的只是定义子提供程序上的一个受保护属性 - $connectionName,它与您正在配置的连接相对应。

用法

默认情况下,Vagabond配置为在config/database.php中使用MySQL数据库。与Laravel一样,您可以配置您的连接和数据库驱动程序,同时在.env文件中安全地存储凭据。

要创建迁移,请使用Nomad的make:migration命令。

php nomad make:migration create_travellers_table

您可以使用status命令检查运行中和挂起的迁移的状态。

php nomad migrate:status

您可以使用migrate命令运行任何挂起的迁移。

php nomad migrate

有关可用命令及其功能的更多信息,请务必查看Laravel的迁移文档

在Laravel应用程序中使用Vagabond

您可以通过在单个存储库中定义和包含服务提供程序来在Laravel应用程序中使用Vagabond,并将它们包含在任何需要它们的任何应用程序中。

这样做后,您的Laravel应用程序将能够访问迁移和数据库配置,这使得在测试环境中使用它们变得非常简单,同时仍然以独立的方式管理生产数据库。这也意味着您的数据库可以独立版本化,甚至可以由数据库管理员独立于开发过程进行管理。

注意:请确保不要在您的Laravel应用程序中调用nomad控制台应用程序,因为它将无法正确运行。准备就绪后,您可以使用通常的Artisan迁移工具。

首先,您需要更新您的composer.json文件,通过更新name属性来反映与您的项目相关的包名称。

如果您没有使用Packagist来共享迁移,可能还需要配置路径或版本控制库。您可以在Composer的仓库文档中了解更多信息。

致谢

特别感谢Nuno MaduroLaravel Zero项目上的工作,这帮助我为最终实现这个项目铺平了道路。

支持

您可以在这里了解更多关于这个项目和它的使用信息。

如果您在使用这个包时遇到一般性问题,请随时通过Twitter联系我。

如果您认为您发现了一个问题,请使用GitHub问题跟踪器报告,或者更好的是,fork仓库并提交一个pull请求。

如果您在使用这个包,我很想听听您的想法。谢谢!