ingenerator / phinx-lightweight
非常简单的基于SQL的数据库迁移工具 - robmorgan/phinx的深度精简版分支
Requires
- php: ~8.0.0 || ~8.1.0 || ~8.2.0
- symfony/config: ^4.0 || ^7.0
- symfony/console: ^5.4 || ^7.0
- symfony/yaml: ^4.0 || ^7.0
Requires (Dev)
- mikey179/vfsstream: ^1.6.11
- phpunit/phpunit: ^9.5.25
Conflicts
README
phinx-lightweight是一个用于管理和应用数据库迁移序列的工具。迁移以PHP类编写,可以执行SQL语句、比较和合并数据、从应用程序代码中拉取常量和值等。
phinx-lightweight(并且将始终如此)具有最基本的三方依赖,可以与任何应用程序或框架一起使用。
请在阅读以下内容之前不要使用此包
这是一个从v0.9.3的robmorgan/phinx永久硬分支。如果您正在从phinx迁移,您应该知道我们对上游版本进行了根本性的更改,特别是
-
迁移类通常会执行显式的SQL命令来修改数据库。我们已经移除了Phinx的整个数据库建模层和许多模式操作辅助函数。当然,您可以为您的应用程序实现任何有用的辅助函数,例如通过使用自定义基迁移类。
-
phinx-lightweight只支持通过PDO的MySQL(或MySQL兼容)数据库,所有其他驱动程序都已移除。
-
没有自动回滚迁移的机制。回滚数据库迁移很困难,通常不像反向应用相反的语句那样简单。回滚还会丢失历史记录,并可能导致下一个迁移时数据库处于意外状态。我们强制执行仅向前推进的策略:如果迁移在生产环境中没有按预期工作,您将需要编写、提交和部署新的迁移,以从您当前的位置到达您想要的位置。
-
我们已移除数据库内容播种的功能。播种不应该在生产环境中运行,并且(据我们看来)不是数据库迁移工具的关切。如果您想为开发数据库播种,请使用为此目的设计的工具之一。
有关已移除功能的更多信息,请参阅更改日志。
文档
请参阅代码库中docs
文件夹中的信息。请注意,在线文档中包含许多在phinx-lightweight中不存在的phinx功能。
许可
(MIT许可)
版权所有 (c) 2017 Rob Morgan 版权所有 (c) 2022 inGenerator Ltd
特此授予任何获得本软件及其相关文档文件(“软件”)副本的任何人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许软件的接收者为此目的进行操作,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,无论是明示的、默示的,包括但不限于适销性、适用于特定目的和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论基于合同行为、侵权或其他行为,这些索赔、损害或其他责任源于、产生于或与软件或软件的使用或其他相关事宜有关。