unicate / rigatoni
Rigatoni - 简单的菜品 - 由新鲜的 SQL 迁移组成。
v1.1
2020-07-08 17:36 UTC
Requires
- catfan/medoo: 1.7.10
- php-di/php-di: 6.1.0
- symfony/console: 5.1.2
Requires (Dev)
- phpunit/phpunit: ^6
This package is auto-updated.
Last update: 2024-09-20 02:51:47 UTC
README
Rigatoni
简单的菜品 - 由新鲜的 SQL 迁移组成。
这是什么?
- Rigatoni 管理SQL迁移。
- 它使用普通的SQL文件。无需学习新的框架。
- 它受到了像 Flyway 或 Phinx 这样的工具的极大启发。
- 应该很容易使用且直观。
- 通过命令行界面(CLI)或编写自己的集成来使用。
- 它可以作为独立应用程序来管理您的数据库迁移。
- 它也可以作为composer包集成到您的项目中。
规则
- 迁移是用普通的SQL编写的。
- 只有三种类型的迁移。
- 版本化迁移:仅执行一次,文件名需要以V开头,后跟版本号。
- 可重复迁移:每次迁移运行时都会执行。文件名需要以R开头,但没有版本号。
- 撤销迁移。文件名需要以U开头,后跟版本号。必须用特定的版本号调用。
- 每个版本化迁移都应该有一个对应的撤销迁移。
- 新迁移始终处于挂起状态。
- 迁移中的每个SQL语句都将单独执行。
- 如果其中一个语句失败,整个迁移将被标记为失败。所有错误都列在迁移表中。
- 成功执行的迁移将被标记为成功。
- 版本化迁移将按版本升序执行。然后执行可重复迁移。
- 如果您想撤销迁移,请调用撤销迁移。
- 所有版本号大于或等于传递的版本的撤销迁移都将执行。
- 撤销的迁移将再次标记为未完成。
- 撤销迁移将标记为成功。
- 如果您从迁移表中删除了迁移条目,但迁移文件仍然存在,它将作为挂起重新插入。
- 路径相对于项目根目录。假设在那里我们可以找到composer.json文件。
命令
- init
- 在项目根目录中创建一个新的配置文件。
- check
- 检查配置、数据库连接以及SQL迁移文件夹是否存在。
- setup
- 创建一个新的迁移信息表。
- migrate
- 执行挂起的迁移。
- undo
- 撤销已执行的迁移。
安装
使用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类和提供的方法。
免责声明 & 许可证
本项目发布于 MIT 许可证下。
感谢The-Noun-Project提供标志: https://thenounproject.com/term/rigatoni/2447057/
终于
现在去创造一些东西,让人们开心吧!