vng / eva-core
Eva工具指南管理应用程序的核心
Requires
- php: ^8.0
- ext-dom: *
- ext-json: *
- aws/aws-sdk-php: ^3.176
- aws/aws-sdk-php-laravel: ^3.6
- doctrine/dbal: ^3.1
- elasticsearch/elasticsearch: ^7.4
- fruitcake/laravel-cors: ^2.0
- guzzlehttp/guzzle: ^7.0.1
- laravel/framework: ^8.54
- laravel/sanctum: ^2.11
- laravel/tinker: ^2.5
- myclabs/php-enum: ^1.7
- webpatser/laravel-uuid: ^4.0
Requires (Dev)
- facade/ignition: ^2.5
- fakerphp/faker: ^1.9.1
- laravel/sail: ^1.0.1
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^5.10
- phpunit/phpunit: ^9.5.8
This package is auto-updated.
Last update: 2024-09-06 13:36:13 UTC
README
环境文件
.env.test
.env.staging
.env.production
.env.testing (unit tests)
设置
php artisan eva-core:setup {--n|no-interaction} {--l|lean}
强制与Elastic的数据同步
php artisan elastic:sync-all -f
php artisan elastic:sync-environments
测试
在运行测试之前,请确保您已设置好测试.env文件。您可能希望为运行测试使用不同的数据库。
浏览器测试
我们使用Laravel dusk进行浏览器测试。它使用.env.dusk.[env]环境文件。如果您的测试因Chrome驱动器失败而失败,您首先应尝试更新它。
运行测试
php artisan dusk:chrome-driver
php artisan dusk
单元测试
对于单元测试,我们使用phpunit。在phpunit.xml中,.env.testing环境已设置为使用环境文件。Laravel不直接使用.env。它在配置中加载它。因此,在运行测试之前,您需要清除您的配置。
运行测试
php artisan config:clear
php artisan test
地理数据
Eva使用来自乡镇和劳动力市场地区的地理数据。
有各种API可以用作这些数据的来源。
我们使用API数据生成源文件。这个源文件是我们用来创建数据库条目的唯一真相来源。
有各种命令可以检查源文件或数据库是否是最新的,还有其他命令在它们不是最新的情况下更新它们。
新的源和新的数据集
要生成新的乡镇和地区源,运行
php artisan geo:generate-source
您也可以为乡镇或地区生成新的源。没有使用--update-source选项,您将创建一个新的源快照。运行它,检查文件,当满意时添加覆盖源文件的选项。
php artisan geo:townships-create-dataset {--update-source}
php artisan geo:regions-create-dataset {--update-source}
您可以使用以下命令从源文件创建乡镇和地区。这些命令不太小心。它们将创建或更新数据,但它们不会检查当前条目是否不再存在以及与之关联的项目是否需要重新分配。因此不建议与现有数据集一起使用。
php artisan geo:townships-create
php artisan geo:regions-create
现有的源或现有的数据集
一旦您建立了数据,您想监控变化。为此,您可以运行以下命令。这些命令将仅显示多个API和数据源之间的缺失条目。
检查API和源之间的偏差
php artisan geo:townships-check-source-from-api
php artisan geo:regions-check-source-from-api
为手动检查源集创建快照
我们目前使用Cbs Open Data Api来创建源文件。当检查各种API结果的变化时,寻找那个。
创建数据快照并在存储中固定/area下检查它们
php artisan geo:townships-create-dataset
php artisan geo:regions-create-dataset
使用API数据更新源文件
当您对快照满意时,再次使用update-source
选项运行它。
php artisan geo:townships-create-dataset --update-source
php artisan geo:regions-create-dataset --update-source
检查源文件和数据库之间的偏差
您还可以检查数据库是否与源数据最新。以下命令将检查缺失条目和内容偏差。
php artisan geo:townships-check-data-from-source
php artisan geo:regions-check-data-from-source
使用源文件的数据更新数据库
当您决定使用源数据更新数据库时,可以运行更新命令。这些命令将显示每个偏差并提供您选择更新数据的选项。
在运行此操作之前,您想要检查源和数据库之间的所有更改,并希望源处于您可以简单地回答所有更改是的状态。
php artisan geo:townships-update-data-from-source
php artisan geo:regions-update-data-from-source
注意:某些部署方法可能不允许交互。在这种情况下,您可以使用yes-to-all标志运行命令。请务必在运行命令之前检查偏差
php artisan geo:townships-update-data-from-source --yes-to-all
php artisan geo:regions-update-data-from-source --yes-to-all
专业人士
身份提供者的数据是主数据。专业人士表中的数据是身份提供者数据的副本。为了将数据库中的数据与身份提供者的数据同步,您可以运行以下命令。
professionals:sync
这些命令更新了所有找到的专业人士的last_seen_date。显然,缺失于身份提供者中的专业人士的last_seen_date将不会更新。您可能希望从数据库中删除这些专业人士。已提供相应的方法来执行此操作