oxidprojects / oxrun
Oxrun为OXID eShop v6.x提供了一套命令行工具
Requires
- guzzlehttp/guzzle: *
- nelexa/zip: *
- oxid-esales/oxideshop-ce: ^v6.5
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-03 21:04:11 UTC
README
Oxrun为OXID eShop社区版提供了一套命令行工具。
文档
- 完整文档
- 关于贡献的文档
- v4.x到v5.x之间的命令行更改日志
安装
composer require oxidprojects/oxrun
.
- 需要PHP >=7.1。
- 需要OXID eShop >= CE v6.5。
安装后,通过./vendor/bin/oxrun-light cache:clear
手动清除缓存,以使所有oxrun命令可用。
用法
./vendor/bin/oe-console
是标准调用。
./vendor/bin/oxrun-light
是不需要激活OXID eSale数据库连接的工具的轻量版。./vendor/bin/oxrun
是oe-console
的别名
- 版权(c)2021 Tobias Matthaiou http://www.tobimat.eu/
- 版权(c)2018 Stefan Moises https://www.rent-a-hero.de/
- 版权(c)2015 Marc Harding http://www.marcharding.de (https://github.com/marcharding/oxrun)
可用的命令
cache
- cache:clear 清除OXID缓存
config
- config:get 获取配置值
- config:multiset
- config:set 设置配置值
- config:shop:get 获取商店配置值
- config:shop:set 设置商店配置值
db
- db:anonymize 化名OXID相关数据库表
- db:dump 使用mysqldump创建备份
- db:import 导入SQL文件
- db:info 显示所有表的大小表
- db:list 所有表的列表
- db:query 执行查询
deploy
- deploy:config 设置多个不在模块设置中的配置值
- deploy:generate:configuration 从数据库生成yaml配置。用于命令
deploy:config
- deploy:generate:module-activator 为命令
deploy:module-activator
生成yaml文件 - deploy:link:environment 链接环境配置文件。适用于CI/CD
- deploy:module-activator 根据yaml文件激活多个模块
- deploy:module-apply-configuration-light 与
oe:module:apply-configuration
相同,但速度更快。 - deploy:update-module-config 使用数据库中的数据更新模块配置 yaml。
杂项
- misc:generate:yaml:config
- misc:generate:yaml:module
- misc:phpstorm:metadata 生成 PhpStorm 元数据文件,用于自动完成和 oxid 模块链。适用于 psalm 或 phpstan。
- misc:register:command 将命令扩展到 service.yaml 文件中,以便在 oe-console 中找到它们。
模块
- module:generate 生成模块骨架
- module:list 列出所有模块
- module:multiactivator
- module:reload 停用并激活一个模块
oxid
- oxid:shops 列出商店
路由
- route:debug 返回路由。调用的是哪个控制器和参数。
用户
- user:create 创建新用户
- user:password 设置新密码
视图
- views:update 更新视图
cache:clear
清除 OXID 缓存
用法
cache:clear [-f|--force]
清除 OXID 缓存
选项
--force|-f
即使如此也尝试删除缓存。[危险或权限拒绝]
- 接受值:否
- 值是否必需:否
- 默认:
false
config:get
获取配置值
用法
config:get [--moduleId [MODULEID]] [--json] [--yaml] [--] <variableName>
获取配置值
参数
variableName
变量名
选项
--moduleId
- 值是否必需:否
- 默认:
''
--json
以 json 格式输出
- 接受值:否
- 值是否必需:否
- 默认:
false
--yaml
以 YAML 格式输出(默认)
- 接受值:否
- 值是否必需:否
- 默认:
false
deploy:config
设置不在模块设置中的多个配置值
用法
deploy:config [-f|--force-db] [--production] [--staging] [--development] [--testing] [--] <configfile>
config:multiset
此命令可以将不在模块设置中找到的设置导入到数据库中。如果是模块设置,则存储在模块配置 yaml 中,而不是数据库中。
文件路径相对于商店安装根路径/var/oxrun_config/。您也可以在命令行上传递 YAML 字符串。
要创建 YAML,请使用命令 oe-console deploy:generate:configration --help
YAML 示例
environment: - "production" - "staging" - "development" - "testing" config: 1: blReverseProxyActive: variableType: bool variableValue: false sMallShopURL: http://myshop.dev.local sMallSSLShopURL: http://myshop.dev.local 2: blReverseProxyActive: ...
如果您愿意,也可以在命令行上指定 YAML 字符串而不是文件,例如。
../vendor/bin/oe-console deploy:config $'config: 1: foobar: barfoo ' --shop-id=1
参数
configfile
包含配置值的文件,请参阅示例/malls.yml.dist。(例如 dev.yml、stage.yml、prod.yml)
选项
--force-db|-f
仍然将所有内容写入数据库。
- 接受值:否
- 值是否必需:否
- 默认:
false
--production
用于“生产”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--staging
用于“预发布”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--development
用于“开发”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--testing
用于“测试”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
config:set
设置配置值
用法
config:set [--variableType VARIABLETYPE] [--moduleId [MODULEID]] [--] <variableName> <variableValue>
设置配置值
参数
variableName
变量名
variableValue
变量值
选项
--variableType
变量类型
- 值是否必需:是
--moduleId
- 值是否必需:否
config:shop:get
获取商店配置值
用法
config:shop:get <variableName>
获取商店配置值
参数
variableName
变量名
config:shop:set
设置商店配置值
用法
配置:shop:set <变量名> <变量值>
设置商店配置值
参数
variableName
变量名
variableValue
变量值
db:anonymize
匿名化相关的OXID数据库表
用法
db:anonymize [--debug] [-d|--domain [域名]] [-k|--keepdomain [保留域名]]
匿名化OXID数据库中与用户相关的数据。相关表包括:Array ( [0] => oxnewssubscribed [1] => oxuser [2] => oxvouchers [3] => oxaddress [4] => oxorder )
选项
--debug
调试生成的SQL查询
- 接受值:否
- 值是否必需:否
- 默认:
false
--domain|-d
用于所有匿名化用户名/电子邮件地址的域名,默认为"@oxrun.com"
- 值是否必需:否
--keepdomain|-k
不应匿名化的域名,默认为"@foobar.com"。电子邮件地址中包含此域名的数据将不会被匿名化。
- 值是否必需:否
db:dump
使用mysqldump创建备份
用法
db:dump [--file FILE] [-t|--table TABLE] [-i|--ignoreViews] [-a|--anonymous] [-w|--withoutTableData WITHOUTTABLEDATA]
从当前数据库创建备份。
用法
oe-console db:dump --withoutTableData oxseo,oxvou%
- To dump all Tables, but `oxseo`, `oxvoucher`, and `oxvoucherseries` without data.
possibilities: oxseo%,oxuser,%logs%
oe-console db:dump --table %user%
- to dump only those tables `oxuser` `oxuserbasketitems` `oxuserbaskets` `oxuserpayments`
oe-console db:dump --anonymous # Perfect for Stage Server
- Those table without data: `oxseo`, `oxseologs`, `oxseohistory`, `oxuser`, `oxuserbasketitems`, `oxuserbaskets`, `oxuserpayments`, `oxnewssubscribed`, `oxremark`, `oxvouchers`, `oxvoucherseries`, `oxaddress`, `oxorder`, `oxorderarticles`, `oxorderfiles`, `oepaypal_order`, `oepaypal_orderpayments`.
oe-console db:dump -v
- With verbose mode you will see the mysqldump command
(`mysqldump -u 'root' -h 'oxid_db' -p ... `)
oe-console db:dump --file dump.sql
- Put the Output into a File
** 只会导出现有表。无论需要什么。
系统要求
* php
* MySQL CLI tools.
选项
--file
在此位置保存备份。
- 值是否必需:是
--table|-t
只导出表名。默认为所有表。使用逗号分隔的列表或模式,例如:%voucher%
- 值是否必需:是
--ignoreViews|-i
忽略视图
- 接受值:否
- 值是否必需:否
- 默认:
false
--anonymous|-a
导出不包含与个人相关数据的表。
- 接受值:否
- 值是否必需:否
- 默认:
false
--withoutTableData|-w
只导出带有其CREATE语句的表。因此没有内容。使用逗号分隔的列表或模式,例如:%voucher%
- 值是否必需:是
db:import
导入SQL文件
用法
db:import <文件>
将SQL文件导入当前商店数据库。
需要在您的系统上安装php exec和MySQL CLI工具。
参数
文件
要导入的SQL文件
db:info
显示所有表的尺寸表
用法
db:info [--tableSize] [--databaseSize]
显示所有表的尺寸表
选项
--tableSize
所有表的尺寸
- 接受值:否
- 值是否必需:否
- 默认:
false
--databaseSize
数据库的尺寸
- 接受值:否
- 值是否必需:否
- 默认:
false
db:list
所有表的列表
用法
db:list [-p|--plain] [-t|--pattern PATTERN]
列出表
用法:oe-console db:list --pattern oxseo%,oxuser - 要导出所有表,但 oxseo
、oxvoucher
和 oxvoucherseries
不包含数据。可能性:oxseo%,oxuser,%logs%
选项
--plain|-p
以逗号分隔的形式打印列表。
- 接受值:否
- 值是否必需:否
- 默认:
false
--pattern|-t
表名模式测试。例如:oxseo%,oxuser
- 值是否必需:是
db:query
执行查询
用法
db:query [--raw] [--] <查询>
在当前商店数据库上执行SQL查询。将您的SQL用引号括起来。
如果您的查询产生结果(例如,一个SELECT语句),输出将通过表格组件返回。添加raw选项以获得原始输出。
需要在您的系统上安装php exec和MySQL CLI工具。
参数
查询
要执行的查询
选项
--raw
原始输出
- 接受值:否
- 值是否必需:否
- 默认:
false
deploy:config
设置不在模块设置中的多个配置值
用法
deploy:config [-f|--force-db] [--production] [--staging] [--development] [--testing] [--] <configfile>
config:multiset
此命令可以将不在模块设置中找到的设置导入到数据库中。如果是模块设置,则存储在模块配置 yaml 中,而不是数据库中。
文件路径相对于商店安装根路径/var/oxrun_config/。您也可以在命令行上传递 YAML 字符串。
要创建 YAML,请使用命令 oe-console deploy:generate:configration --help
YAML 示例
environment: - "production" - "staging" - "development" - "testing" config: 1: blReverseProxyActive: variableType: bool variableValue: false sMallShopURL: http://myshop.dev.local sMallSSLShopURL: http://myshop.dev.local 2: blReverseProxyActive: ...
如果您愿意,也可以在命令行上指定 YAML 字符串而不是文件,例如。
../vendor/bin/oe-console deploy:config $'config: 1: foobar: barfoo ' --shop-id=1
参数
configfile
包含配置值的文件,请参阅示例/malls.yml.dist。(例如 dev.yml、stage.yml、prod.yml)
选项
--force-db|-f
仍然将所有内容写入数据库。
- 接受值:否
- 值是否必需:否
- 默认:
false
--production
用于“生产”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--staging
用于“预发布”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--development
用于“开发”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--testing
用于“测试”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
deploy:generate:configuration
从数据库生成yaml配置。对于命令deploy:config
用法
deploy:generate:configuration [-u|--update] [-c|--configfile CONFIGFILE] [--oxvarname OXVARNAME] [--oxmodule OXMODULE] [-d|--no-descriptions] [-l|--language LANGUAGE] [--list] [--production] [--staging] [--development] [--testing]
misc:generate:yaml:config
不包括在模块中的配置可以保存。使用命令:deploy:config它们可以再次读取
选项
--update|-u
更新现有的配置文件,使用DB中的数据
- 接受值:否
- 值是否必需:否
- 默认:
false
--configfile|-c
要更新或创建的配置文件,如果不存在
- 值是否必需:是
- 默认:
'dev_config.yml'
--oxvarname
按oxvarname转储配置。一个名称或以逗号分隔的列表
- 值是否必需:是
--oxmodule
按oxmodule转储配置。一个名称或以逗号分隔的列表
- 值是否必需:是
--no-descriptions|-d
不添加描述。
- 接受值:否
- 值是否必需:否
- 默认:
false
--language|-l
描述的语言选择。
- 值是否必需:是
- 默认:
0
--list
列出所有保存的配置
- 接受值:否
- 值是否必需:否
- 默认:
false
--production
用于“生产”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--staging
用于“预发布”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--development
用于“开发”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--testing
用于“测试”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
deploy:generate:module-activator
为命令deploy:module-activator
生成yaml文件
用法
deploy:generate:module-activator [-c|--configfile CONFIGFILE] [-w|--whitelist] [-b|--blacklist]
misc:generate:yaml:module
为命令deploy:module-activator
生成yaml文件
选项
--configfile|-c
修改或创建配置文件,如果不存在
- 值是否必需:是
- 默认值:
'dev_module.yml'
--whitelist|-w
包含始终激活的模块。其他模块保持未激活状态。
- 接受值:否
- 值是否必需:否
- 默认:
false
--blacklist|-b
包含始终需要禁用的模块。其他模块都处于激活状态。
- 接受值:否
- 值是否必需:否
- 默认:
false
deploy:link:environment
链接环境配置文件。适用于CI/CD。
用法
deploy:link:environment [--rm] [--production] [--staging] [--development] [--testing]
在文件结构中,您可以在var/configuration/environment目录下为每个商店创建多个文件。例如,production.1.yaml,staging.1.yaml。在将文件部署到特定环境时这可能很有用。@see: 模块配置部署
选项
--rm
删除链接
- 接受值:否
- 值是否必需:否
- 默认:
false
--production
用于“生产”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--staging
用于“预发布”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--development
用于“开发”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--testing
用于“测试”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
deploy:module-activator
根据YAML文件激活多个模块
用法
deploy:module-activator [-s|--skipDeactivation] [-d|--clearModuleData] [--] <yaml>
module:multiactivator
用法: oe-console deploy:module-activator modules.yml
- 根据白名单或黑名单激活YAML文件中定义的所有模块
示例
whitelist: 1: - ocb_cleartmp - moduleinternals #- ddoevisualcms #- ddoewysiwyg 2: - ocb_cleartmp priorities: 1: moduleinternals: 1200 ocb_cleartmp: 950
支持“白名单”和“黑名单”条目,包含多个商店ID和要激活(白名单)或排除激活(黑名单)的所需模块ID。
使用“优先级”,您可以定义模块激活的顺序(按子商店)。
如果您愿意,也可以在命令行上指定 YAML 字符串而不是文件,例如。
oe-console deploy:module-activator $'whitelist: 1: - oepaypal ' --shop-id=1
参数
yaml
YAML模块列表文件名或YAML字符串。文件路径相对于/var/www/oxid-esale/var/oxrun_config/。
选项
--skipDeactivation|-s
跳过模块的停用,只激活。
- 接受值:否
- 值是否必需:否
- 默认:
false
--clearModuleData|-d
清除oxconfig中的模块数据。
- 接受值:否
- 值是否必需:否
- 默认:
false
deploy:module-apply-configuration-light
与oe:module:apply-configuration
相同,但更快。
用法
deploy:module-apply-configuration-light
模块配置将仅写入数据库。
- 不停用或激活模块
- 不重写模块配置yaml
警告:如果您在metadata.php::controllers|::extend上进行了更改,则此命令不起作用。
自动激活或停用模块,参数为configured: true|false
。与oe:module:apply-configuration
相同,但更快!
deploy:update-module-config
使用数据库中的数据更新模块配置yaml
用法
deploy:update-module-config [--production] [--staging] [--development] [--testing]
是oe:module:apply-configuration
的反向命令。
选项
--production
用于“生产”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--staging
用于“预发布”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--development
用于“开发”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--testing
用于“测试”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
deploy:generate:configuration
从数据库生成yaml配置。对于命令deploy:config
用法
deploy:generate:configuration [-u|--update] [-c|--configfile CONFIGFILE] [--oxvarname OXVARNAME] [--oxmodule OXMODULE] [-d|--no-descriptions] [-l|--language LANGUAGE] [--list] [--production] [--staging] [--development] [--testing]
misc:generate:yaml:config
不包括在模块中的配置可以保存。使用命令:deploy:config它们可以再次读取
选项
--update|-u
更新现有的配置文件,使用DB中的数据
- 接受值:否
- 值是否必需:否
- 默认:
false
--configfile|-c
要更新或创建的配置文件,如果不存在
- 值是否必需:是
- 默认:
'dev_config.yml'
--oxvarname
按oxvarname转储配置。一个名称或以逗号分隔的列表
- 值是否必需:是
--oxmodule
按oxmodule转储配置。一个名称或以逗号分隔的列表
- 值是否必需:是
--no-descriptions|-d
不添加描述。
- 接受值:否
- 值是否必需:否
- 默认:
false
--language|-l
描述的语言选择。
- 值是否必需:是
- 默认:
0
--list
列出所有保存的配置
- 接受值:否
- 值是否必需:否
- 默认:
false
--production
用于“生产”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--staging
用于“预发布”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--development
用于“开发”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
--testing
用于“测试”系统
- 接受值:否
- 值是否必需:否
- 默认:
false
deploy:generate:module-activator
为命令deploy:module-activator
生成yaml文件
用法
deploy:generate:module-activator [-c|--configfile CONFIGFILE] [-w|--whitelist] [-b|--blacklist]
misc:generate:yaml:module
为命令deploy:module-activator
生成yaml文件
选项
--configfile|-c
修改或创建配置文件,如果不存在
- 值是否必需:是
- 默认值:
'dev_module.yml'
--whitelist|-w
包含始终激活的模块。其他模块保持未激活状态。
- 接受值:否
- 值是否必需:否
- 默认:
false
--blacklist|-b
包含始终需要禁用的模块。其他模块都处于激活状态。
- 接受值:否
- 值是否必需:否
- 默认:
false
misc:phpstorm:metadata
生成PhpStorm元数据文件,用于自动完成和oxid模块链。适用于psalm或phpstan。
用法
misc:phpstorm:metadata [-o|--output-dir OUTPUT-DIR]
生成PhpStorm元数据文件,用于自动完成和oxid模块链。适用于psalm或phpstan。
选项
--output-dir|-o
将元数据写入指定的目录。
- 值是否必需:是
misc:register:command
扩展service.yaml文件,以便在oe-console中找到命令。
用法
misc:register:command [--isModule] [-s|--service-yaml SERVICE-YAML] [-y|--yaml-inline YAML-INLINE] [--] <command-dir>
扩展service.yaml文件,以便在oe-console中找到命令。
参数
command-dir
命令所在的文件夹或带有--isModule选项的模块
选项
--isModule
只需写下模块和路径,然后service.yaml将自动找到。
- 接受值:否
- 值是否必需:否
- 默认:
false
--service-yaml|-s
将更新的service.yaml文件(默认:var/configuration/configurable_services.yaml)
- 值是否必需:是
--yaml-inline|-y
切换到内联YAML的级别
- 值是否必需:是
- 默认:
4
module:generate
生成模块骨架
用法
module:generate [-s|--skeleton SKELETON] [--name NAME] [--vendor VENDOR] [--description DESCRIPTION] [--author AUTHOR] [--email EMAIL]
生成模块骨架
选项
--skeleton|-s
氧化模块骨架的压缩包
- 值是否必需:是
- 默认:
'https://github.com/OXIDprojects/oxid-module-skeleton/archive/v6_module.zip'
--name
模块名称
- 值是否必需:是
--vendor
供应商
- 值是否必需:是
--description
模块描述:OXID eShop模块...
- 值是否必需:是
--author
模块作者
- 值是否必需:是
--email
作者电子邮件
- 值是否必需:是
module:list
列出所有模块
用法
module:list
列出所有模块
deploy:module-activator
根据YAML文件激活多个模块
用法
deploy:module-activator [-s|--skipDeactivation] [-d|--clearModuleData] [--] <yaml>
module:multiactivator
用法: oe-console deploy:module-activator modules.yml
- 根据白名单或黑名单激活YAML文件中定义的所有模块
示例
whitelist: 1: - ocb_cleartmp - moduleinternals #- ddoevisualcms #- ddoewysiwyg 2: - ocb_cleartmp priorities: 1: moduleinternals: 1200 ocb_cleartmp: 950
支持“白名单”和“黑名单”条目,包含多个商店ID和要激活(白名单)或排除激活(黑名单)的所需模块ID。
使用“优先级”,您可以定义模块激活的顺序(按子商店)。
如果您愿意,也可以在命令行上指定 YAML 字符串而不是文件,例如。
oe-console deploy:module-activator $'whitelist: 1: - oepaypal ' --shop-id=1
参数
yaml
YAML模块列表文件名或YAML字符串。文件路径相对于/var/www/oxid-esale/var/oxrun_config/。
选项
--skipDeactivation|-s
跳过模块的停用,只激活。
- 接受值:否
- 值是否必需:否
- 默认:
false
--clearModuleData|-d
清除oxconfig中的模块数据。
- 接受值:否
- 值是否必需:否
- 默认:
false
module:reload
停用并激活模块
用法
module:reload [-f|--force-cache] [-s|--skip-cache-clear] [-c|--based-on-config BASED-ON-CONFIG] [--] <module>
停用并激活模块
参数
模块
模块名称
选项
--force-cache|-f
使用--force选项清除缓存
- 接受值:否
- 值是否必需:否
- 默认:
false
--skip-cache-clear|-s
跳过cache:clear命令
- 接受值:否
- 值是否必需:否
- 默认:
false
--based-on-config|-c
根据 deploy:module-activator yaml 文件检查模块是否允许重新加载。
- 值是否必需:是
oxid:shops
列出商店
用法
oxid:shops [-i|--only-ids]
列出商店
选项
--only-ids|-i
仅显示商店 ID。例如:"oe-console oxid:shops --only-ids | xargs -tn1 oe-console ... --shop-id "
- 接受值:否
- 值是否必需:否
- 默认:
false
route:debug
返回路由。调用的是哪个控制器和参数。
用法
route:debug [-c|--copy] [--] <url>
返回路由。调用的是哪个控制器和参数。
参数
url
网站 URL。完整路径或路径
选项
--copy|-c
从类复制文件路径到剪贴板(仅限 MacOS)
- 接受值:否
- 值是否必需:否
- 默认:
false
user:create
创建新用户
用法
user:create
创建新用户
user:password
设置新密码
用法
user:password <username> <password>
设置新密码
参数
username
用户名
新密码
新密码
views:update
更新视图
用法
views:update
更新视图