dreamproduction / cli-migrate
一个用于执行脚本迁移管理的包。
This package is not auto-updated.
Last update: 2024-09-14 18:18:32 UTC
README
此工具运行 CLI 脚本。它与数据库迁移工具类似,但它运行 CLI 脚本。其理念是,有时您在代码部署后需要运行一些脚本,例如重建缓存或重新生成图像衍生物。此工具会跟踪已运行的脚本,并且不会再次运行它们。如果您需要自动化部署,这会很有帮助。
安装
先决条件:您需要安装 PyYAML。
对于 Mac,运行
pip install pyyaml
如果您未安装 pip
,请运行
easy_install pip
如果您不想安装 pip
,可以使用 easy_install
安装 PyYAML
easy_install pyyaml
对于 Linux,使用您的包管理器。示例
sudo apt-get install python-yaml
sudo yum install python-yaml
然后安装 cli-migrate
包。如果您有 composer
composer require dreamproduction/cli-manager
否则,只需克隆它。
然后,请确保可执行文件(bin/cli-migrate
)位于您的路径中。
项目设置
在项目根目录中,您应该有一个 YAML 文件,名称为 .cli-migrate.config.yml
。此文件应包含以下键
- scripts_folder: 从项目根目录到您希望存储迁移脚本的文件夹的路径。
- state_file: 存储迁移状态文件的名称(和路径,如果您希望)。
该包提供了一个配置文件(.cli-migrate.config.dist.yml
),其中包含了大多数情况下选项的良好默认值。
您还应该配置您的版本控制系统,不要包含状态文件(默认 .cli-migrate.state.yml
)。如果您使用 git,请在 .gitignore 中添加
# Ignore the state file for dreamproduction/cli-migrate
.cli-migrate.state.yml
如何使用它
首先,您需要定义您的迁移文件。 cli-migrate
提供了一个生成带有 year-month-day-hour:minute:second
格式日期的空可执行迁移文件的命令,以确保脚本按创建顺序执行。命令是
cli-migrate generate "Optional description of the migration. It is however a good practice to provide it. Only the first 6 words are used for the filename, but the whole description will be added to the migration file as a message displayed using echo"
然后您可以在其中编写代码,提交它们,无论您何时部署代码或同事拉取您的代码,唯一需要执行的操作是
cli-migrate run
已执行的迁移脚本将记录在状态文件中,并且不会再次执行。