neam/yii-dna-pre-release-testing

Yii DNA 预发布测试

1.0.0 2017-06-28 08:08 UTC

This package is not auto-updated.

Last update: 2024-09-20 21:42:21 UTC


README

迁移通知:仓库已迁移至 https://github.com/neam/dna-project-base-data-set-management

脚本和数据库迁移文件夹结构适合使用假数据和克隆的真实用户数据进行发布升级测试。

原因和定义

我们希望能够在从空数据库开始和从生产部署导入数据的情况下开发和测试代码。这两个测试数据场景被称为“清洁数据库”与“用户生成”,所有验收测试都应该分组到这两个之一或两者之中。“清洁数据库”数据保存在db/migration-base/clean-db/中,用户生成的模式保存在s3://user-data-backups,路径在db/migration-base/user-generated/中指定的文件内。

用户生成数据

通过运行README中指定的命令,用户生成数据备份到S3。这包括模式、表数据和上传的用户媒体。

数据库迁移

由Propel处理。

数据配置文件

由于可能部署了多个独立的数据库,可以通过创建数据配置文件来分别跟踪它们。也就是说,除了“清洁数据库”和“用户生成”变体之外,我们还可以创建任何新的数据集,例如将其称为“customer1”,以便跟踪特定客户部署的数据集。

常见问题解答

如何添加新的数据配置文件?

使用辅助脚本创建新的数据配置文件,然后上传当前的用户生成数据到S3,提交dna(路径中包含任何内容)中的引用和相关配置文件并推送。

vendor/neam/yii-dna-pre-release-testing/shell-scripts/new-data-profile.sh <profileref>
vendor/neam/yii-dna-pre-release-testing/shell-scripts/upload-user-data-backup.sh
# then run the three commands to update the data refs
# commit and push

删除已应用迁移以减少杂乱

运行以下命令将当前用户生成的模式复制到清洁数据库模式的迁移基础。这使默认模式与用户生成版本相同,这个例程应该在发布后(即迁移在生产中运行时)完成,以便可以删除当前代码库中已应用的迁移,以最大限度地减少杂乱。

export DATA=example
vendor/neam/yii-dna-pre-release-testing/shell-scripts/post-release-user-generated-schema-to-clean-db-schema-routine.sh
# then, manually remove already applied migrations

注释:迁移在将旧部署升级到最新模式时至关重要。然而,如果没有必要将旧部署升级到最新模式,迁移可能会增加维护和开发例程的负担,而不会增加项目价值。例如,在早期开发阶段,没有实际部署,或者所有实际部署都已运行到日期的所有迁移,并且不需要从旧备份中恢复。