引力子 / 导入导出
该软件包已弃用,不再维护。没有建议的替代软件包。
工具,用于通过 REST 导入和导出引力子数据。
v3.1.0
2021-09-02 06:44 UTC
Requires
- php: >=7.4.0
- ext-iconv: *
- alcaeus/mongo-php-adapter: ^1.1
- flow/jsonpath: ^0.5.0
- guzzlehttp/guzzle: ^6.0
- monolog/monolog: ~1
- sentry/sentry: ^1
- symfony/console: ~4.4.0
- symfony/filesystem: ~4.4.0
- symfony/finder: ~4.4.0
- symfony/monolog-bridge: ~4.4.0
- symfony/var-dumper: ~4.4.0
- symfony/yaml: ~4.4.0
- webuni/front-matter: ^1.0
- zumba/json-serializer: ^2.0
Requires (Dev)
This package is auto-updated.
Last update: 2022-01-28 08:50:28 UTC
README
简单的引力子客户端,帮助导入和导出数据。
安装
composer require graviton/import-export
使用方法
获取帮助
./vendor/bin/graviton-import-export help
这将显示所有可用的命令。
通过 REST(使用 HTTP 接口)将数据加载到引力子实例
从目录加载
./vendor/bin/graviton-import-export graviton:import http://localhost:8000 ./test/fixtures
将数据加载到引力子实例的核心数据库中
除了通过 HTTP 接口加载数据外,还有 核心 命令可供使用,允许您将数据加载到引力子实例的数据库后端(MongoDB)中。
您可以通过 graviton:core:import
命令导入一组现有文件
./vendor/bin/graviton-import-export graviton:core:import ./test/data
核心 命令的文件格式与正常导入格式略有不同,因为我们需要保留某些类类型。因此,最好是将数据插入到 MongoDB 中,并将其导出为必要的格式。这可以使用导出命令完成
./vendor/bin/graviton-import-export graviton:core:export ./test/dump-dir
这将转储默认数据库中的所有数据。graviton:core:export
有更多选项,请参阅 --help
输出以获取更多详细信息。
此外,我们还有一个 清除 命令,允许您轻松地清除 MongoDB 数据库中所有集合。您需要传递 'yes' 作为唯一参数,表示您确定该操作。
./vendor/bin/graviton-import-export graviton:core:purge yes
文件格式
要加载的文件必须包含带有额外 yaml frontmatt(yo dawg...)的 yaml。
frontmatter 部分定义了文件应加载到的目标路径。
--- target: /core/app/test --- { "id": "test", "name": { "en": "Test" }, "showInMenu": true, "order": 100 }
将文件导入到 /file/
- 文件不能被覆盖,尝试使用工具更新文件集会引发错误。
例如,对于文件上传,即 swisscom.png 以及要添加到文件集的附加链接
--- target: /file/swisscom file: swisscom.png --- id: swisscom links: - type: "accountType" $ref: "http://localhost/entity/code/accountType-1"
验证文件
文件不是原生 YML 或 JSON 文件,因此您可以使用此命令轻松检查它们是否正确。
php ./bin/graviton-import-export graviton:validate:import /{full path to}/initialdata/data/
您还可以直接检查任何子文件夹。输出(错误示例)
Validation will be done for: 60047 files 60047/60047 [============================] 100% Finished With: 1 Errors /initialdata/data/param/0_general/event/action/error_file.yml: Malformed inline YAML string ("error_file) at line 1 (near "id: "error_file").
“put”导入的认证和头信息
某些端点可能需要基本认证或某些 cookie 或头信息。可以使用 -a 和 -c 结合使用。
-a is for "basic auth", this will do a base 64 encode header. -a{user:passw} -c is for Customer Header(s), -c{key:value} just add more if needed, -c is array enabled. php ./bin/graviton-import-export graviton:import http://... /{full path to}/initialdata/data/ -ajohn:doe -cheader1:value1 -cheader2:value2
构建 Docker 运行时
docker build -t graviton/import-export .
Docker 运行时
docker run --rm -ti -v `pwd`:/data graviton/import-export
构建phar包
运行phar构建
composer build
部署phar主机
cf push <name-of-host>
或者使用deploy-scripts以自动化蓝绿方式部署。
待办
- 实现导入器
- 实现导出器
- 构建phar
- 部署phar
- 自动化phar部署
- 文档化phar使用