unicate/rigatoni

Rigatoni - 简单的菜品 - 由新鲜的 SQL 迁移组成。

安装: 7

依赖项: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 0

开放问题: 0

类型:项目

v1.1 2020-07-08 17:36 UTC

This package is auto-updated.

Last update: 2024-09-20 02:51:47 UTC


README

alt text

Rigatoni

简单的菜品 - 由新鲜的 SQL 迁移组成。

这是什么?

  • Rigatoni 管理SQL迁移。
  • 它使用普通的SQL文件。无需学习新的框架。
  • 它受到了像 FlywayPhinx 这样的工具的极大启发。
  • 应该很容易使用且直观。
  • 通过命令行界面(CLI)或编写自己的集成来使用。
  • 它可以作为独立应用程序来管理您的数据库迁移。
  • 它也可以作为composer包集成到您的项目中。

规则

  • 迁移是用普通的SQL编写的。
  • 只有三种类型的迁移。
    • 版本化迁移:仅执行一次,文件名需要以V开头,后跟版本号。
    • 可重复迁移:每次迁移运行时都会执行。文件名需要以R开头,但没有版本号。
    • 撤销迁移。文件名需要以U开头,后跟版本号。必须用特定的版本号调用。
  • 每个版本化迁移都应该有一个对应的撤销迁移。
  • 新迁移始终处于挂起状态。
  • 迁移中的每个SQL语句都将单独执行。
    • 如果其中一个语句失败,整个迁移将被标记为失败。所有错误都列在迁移表中。
    • 成功执行的迁移将被标记为成功。
  • 版本化迁移将按版本升序执行。然后执行可重复迁移。
  • 如果您想撤销迁移,请调用撤销迁移。
    • 所有版本号大于或等于传递的版本的撤销迁移都将执行。
    • 撤销的迁移将再次标记为未完成。
    • 撤销迁移将标记为成功。
  • 如果您从迁移表中删除了迁移条目,但迁移文件仍然存在,它将作为挂起重新插入。
  • 路径相对于项目根目录。假设在那里我们可以找到composer.json文件。

命令

  • init
    • 在项目根目录中创建一个新的配置文件。
  • check
    • 检查配置、数据库连接以及SQL迁移文件夹是否存在。
  • setup
    • 创建一个新的迁移信息表。
  • migrate
    • 执行挂起的迁移。
  • undo
    • 撤销已执行的迁移。

alt text

安装

使用Git或Composer进行安装

git clone https://github.com/unicate/rigatoni.git my-project-name
composer install --no-dev

如果您只想运行迁移,请使用--no-dev选项。(其他依赖项仅用于测试。)

composer create-project unicate/rigatoni my-project-name --no-dev

命令

Init - 在您的项目根目录中创建一个配置文件。

./rigatoni init

Check - 进行一些配置和连接检查。

./rigatoni check

Info - 显示迁移表中的所有条目。

./rigatoni info

Setup - 将创建迁移表。(现有的将被删除。)

./rigatoni setup

Migrate - 执行版本化和可重复迁移。

./rigatoni migrate

撤销迁移

./rigatoni undo 004

自己的集成

如果您想在自己的项目中使用Rigatoni编写自己的集成,请查看MigrationFacade类和提供的方法。

alt text

免责声明 & 许可证

本项目发布于 MIT 许可证下。

感谢The-Noun-Project提供标志: https://thenounproject.com/term/rigatoni/2447057/

终于

现在去创造一些东西,让人们开心吧!