Oxrun为OXID eShop v6.x提供了一套命令行工具

安装数: 18,938

依赖关系: 0

建议者: 0

安全性: 0

星标: 9

关注者: 8

分支: 7

类型:oxideshop-component

5.1.4 2023-06-26 19:15 UTC

README

oxrun ci Coverage Status

Oxrun为OXID eShop社区版提供了一套命令行工具。

文档

安装

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/oxrunoe-console的别名

可用的命令

cache
config
db
deploy
杂项
模块
oxid
路由
  • route:debug 返回路由。调用的是哪个控制器和参数。
用户
视图

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:
    ...

示例:malls.yml.dist

如果您愿意,也可以在命令行上指定 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 - 要导出所有表,但 oxseooxvoucheroxvoucherseries 不包含数据。可能性: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:
    ...

示例:malls.yml.dist

如果您愿意,也可以在命令行上指定 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

更新视图