hechoendrupal / drupal-console

The Drupal CLI. A tool to generate boilerplate code, interact with and debug Drupal.
http://drupalconsole.com
GNU General Public License v2.0
939 stars 560 forks source link

Supporting Drush Commands in DrupalConsole #1522

Open itsdarrylnorris opened 8 years ago

itsdarrylnorris commented 8 years ago

Problem / Motivation

There is it seem to be some incompatibility of command drush and DrupalConsole. For this reason, we are going to remove drush command from Drupal Console see more at #1520.

However, Drush still an amazing command tool that we should take advantage in of some their functionality with in side of Drupal Console but without a bridge. Instead we should build the functionality from scratch so we do not need to support bridges problems.

Solution

Lets take care of the Drush functionality inside of Drupal Console one by one. This issue is mainly to keep track of what is going with the functionality from Drush. There is going to be a list drush of command below in this issue and some instructions on how we are going to keep track of this issues.

If this functionality is already in Drupal Console lets added lets check the checkbox and add the link of the command that replace it in Drupal Console.

If the functionality is not in Drupal Console lets open an issue added the link of that issue like this.

jmolivas commented 7 years ago

Copy/paste format suggestion

Proposed format:

Drush Command Description Equivalent Will not Implement Notes
config-get Display a config value, or a whole configuration object. config:debug
novia713 commented 7 years ago

i would like to add some existing commands (not all) (perhaps a shared gist it's a better place to do this)

Drush Command Description Equivalent Will not Implement Notes
core-execute Execute a shell command exec "ls -la"
help Print help message help or help site:install
image-flush Flush all derived images for a given style image:styles:flush
site-alias Print site alias records for all known site aliases and local sites site:debug
site-install Print site alias records for all known site aliases and local sites site:install
updatedb Apply any database updates required update:execute
updatedb-status List any pending database updates update:debug
entity-updates Apply pending entity schema updates update:entities

.

novia713 commented 7 years ago

@darol100 i made my own list at https://gist.github.com/novia713/1097c221fb409bb43712667650f2cc42 feel free to use it in the most convenient way for you @jmolivas i think having a list like https://gist.github.com/novia713/1097c221fb409bb43712667650f2cc42 actualized would be very useful. perhaps would be a good a idea to put it in some repository where some people could maintain the listing

Saphyel commented 7 years ago

I use D8 at work everyday and well for me, the most important commands (because our workflow) are mainly this list (so they are my priority):

(I think I miss a few but I'm sure that they are not at the moment in drupalconsole yet)

And as I said to @novia713 yesterday I think is better a repository like this one: https://github.com/mpalourdio/xps13 so we can do pull request and etc for change/update the documentation.

jmolivas commented 7 years ago

@novia713 @Saphyel @darol100

We just need to maintain a YML file with this structure on a repo (still deciding if this one or drupal-console-core instead):

commands:
  core:
    archive-dump: ~
    config-debug: config:debug
    config-export: config:export
    config-import: config:import
    archive-dump: ~
    archive-restore: ~
    browse: ~
    core-cli: ~
    core-config: ~
    core-cron: ~
    core-execute: ~
    core-init: init
    core-quick-drupal: ~
    core-requirements: site:status
    core-rsync: ~
    core-status: site:status
    core-topic: ~
    drupal-directory: ~
    entity-updates: update:entities
    help: help
    site-install: site:install
  make:
    make: ~
    make-convert: ~

A new command will be released with RC-1

This could be executed without arguments and will show the full list of equivalents:

drupal-drush-equivalent-1

If a drush command is passed and DC provides an equivalent, it will show which command maps on DC and will execute a help command to see information of the command in DC.

drupal-drush-equivalent-2

nvaken commented 7 years ago

Just to add, I'd love to see a port of sql-sanitize, not really sure how this port should be approached though. The command makes use of special Drush module hooks (hook_drush_sql_sync_sanitize()). The naming convention of this hook suggest we should not use this for console. Though, I'm wondering if this hook should be generalised, allowing both drush, drupal and others to implement this hook. Something like: hook_sql_sync_sanitize()? But, this might be out of scope for this overview issue. Should I create a new issue for this matter?

jmolivas commented 7 years ago

@nvaken create a new issue will be great to address this as new feature.

nvaken commented 7 years ago

@jmolivas Done! See #3192

iBobik commented 4 years ago

Missing l10n commands for updating translations - #3920