welaika / wordmove

Multi-stage command line deploy/mirroring and task runner for Wordpress
https://wptools.it/wordmove
MIT License
1.87k stars 165 forks source link

Errorcode 1 with gzip of database dump.sql during database pull #528

Closed mechdog closed 2 years ago

mechdog commented 5 years ago

Having an issue with pulling the database from a WPEngine site with ssh access. The dump.sql file is created but the gzip command seems to error out. If I copy and paste the same gzip command on the remote server myself it runs fine.

wordmove pull -d

▬▬ Using Movefile: ./movefile.yml ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▬▬ Pulling Database ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    local | mysqldump --host=127.0.0.1 --port=8889 --user=[blanked] --password=[blanked] --result-file="/sites/cooper2019/wp-content/local-backup-1559245811.sql" cooper2019
mysqldump: [Warning] Using a password on the command line interface can be insecure.
    local | gzip -9 -f "/sites/cooper2019/wp-content/local-backup-1559245811.sql"
   remote | mysqldump --host=127.0.0.1 --user=[blanked] --password=[blanked] --result-file="/home/wpe-user/sites/cooper2019/wp-content/dump.sql" wp_cooper2019
   remote | gzip -9 -f "/home/wpe-user/sites/cooper2019/wp-content/dump.sql"
/Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh.rb:70:in `remote_run': Error code 1 returned by command "gzip -9 -f "/home/wpe-user/sites/cooper2019/wp-content/dump.sql"":  (Wordmove::ShellCommandError)
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh.rb:80:in `download_remote_db'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh/wpcli_sql_adapter.rb:34:in `adapt_remote_db!'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh.rb:48:in `pull_db'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:79:in `block in pull'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:42:in `block in handle_options'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:41:in `each'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:41:in `handle_options'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:78:in `pull'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/exe/wordmove:6:in `<top (required)>'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/wordmove:23:in `load'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/wordmove:23:in `<main>'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/ruby_executable_hooks:24:in `eval'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/ruby_executable_hooks:24:in `<main>'

movefile.yml:

global:
  sql_adapter: wpcli

local:
  vhost: "http://cooper2019.dev"
  wordpress_path: "/sites/cooper2019" # use an absolute path here

  database:
    name: "cooper2019"
    user: "[blanked]"
    password: "[blanked]"
    host: "127.0.0.1"
    port: "8889"

production:
  vhost: "http://cooper2019.wpengine.com"
  wordpress_path: "/home/wpe-user/sites/cooper2019" # use an absolute path here

  database:
    name: "wp_cooper2019"
    user: "[blanked]"
    password: "[blanked]"
    host: "127.0.0.1"
    # port: "3308" # Use just in case you have exotic server config

  ssh:
    host: "[asite].ssh.wpengine.net"
    user: "[ssh_user]"

  exclude:
    - '.git/'
    - '.gitignore'
    - 'node_modules/'
    - 'bin/'
    - 'tmp/*'
    - 'Gemfile*'
    - 'Movefile'
    - 'movefile'
    - 'movefile.yml'
    - 'movefile.yaml'
    - 'wp-config.php'
    - 'wp-content/*.sql.gz'
    - '*.orig'

If I ssh into the server and run:

gzip -9 -f "/home/wpe-user/sites/cooper2019/wp-content/dump.sql"

it runs fine. The dump.sql file is created on the remote server and has the database data in it as well, so it really appears to be the gzip command. Not sure if there is a way for me to get a more verbose error from it some how when wordmove runs, was hoping the manually runned command would give an error I could grab to help.

Using Mac OS 10.14.4
rvm
ruby version 2.4.6

Really hope I'm just doing some thing dumb other then not wanting to take up people's time for that...

alessandro-fazzi commented 5 years ago

Hi,

we cannot provide help about a single hosting company problem since we don't use their service and we have no idea on what's the difference between WPe and the rest of the world :P

Would be a good idea to investigate these problems together with @frontenddevguy and @kLOsk (and possibly let only one issue alive)

Ref: https://github.com/welaika/wordmove/issues/526 https://github.com/welaika/wordmove/issues/519

mechdog commented 5 years ago

It sounds like it could be WPE related, I more put that in just to be inclusive. I can hop over to the issue that appears to be the exact same (I really did try to search and failed miserably on that.) Thanks again!!! Hopefully we find a solution, WordMove is a huge part of my workflow and I miss it!

frontenddevguy commented 5 years ago

I tried talking to WPE support but didn't get far. My overall impression after working on their hosting for a client was that it is not very developer friendly. They also did not support including images in GIT, or webhooks, and refreshing the cache required a request to support. Did you get Wordmove to work with files on WPE?

mechdog commented 5 years ago

I did a little digging and it actually does not appear to be the gzip command causing the issue. If I take line 79 of ssh.rb and duplicate it, I get the same error. I tried a few other things where I would put say just tell @copier.exec! to run some random command first. When I do that it crashes with he same error on a command that just ran.

def download_remote_db(local_gizipped_dump_path)
        remote_dump_path = remote_wp_content_dir.path("dump.sql")
        # dump remote db into file
        remote_run mysql_dump_command(remote_options[:database], remote_dump_path)
        remote_run mysql_dump_command(remote_options[:database], remote_dump_path)
        remote_run compress_command(remote_dump_path)
        remote_dump_path += '.gz'
        # download remote dump
        remote_get(remote_dump_path, local_gizipped_dump_path)
        remote_delete(remote_dump_path)
      end

So for this, the first one runs and the second then errors out

wordmove pull -d

▬▬ Using Movefile: ./movefile.yml ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▬▬ Pulling Database ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    local | mysqldump --host=127.0.0.1 --port=8889 --user=[blank] --password=[blank] --result-file="/sites/cooper2019/wp-content/local-backup-1559324264.sql" cooper2019
mysqldump: [Warning] Using a password on the command line interface can be insecure.
    local | gzip -9 -f "/sites/cooper2019/wp-content/local-backup-1559324264.sql"
   remote | mysqldump --host=127.0.0.1 --user=[blank] --password=[blank] --result-file="/home/wpe-user/sites/cooper2019/wp-content/dump.sql" wp_cooper2019
   remote | mysqldump --host=127.0.0.1 --user=[blank] --password=[blank] --result-file="/home/wpe-user/sites/cooper2019/wp-content/dump.sql" wp_cooper2019
/Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh.rb:70:in `remote_run': Error code 1 returned by command "mysqldump --host=127.0.0.1 --user=cooper2019 --password=gfLKCQyxY1TANr3aFwpZ --result-file="/home/wpe-user/sites/cooper2019/wp-content/dump.sql" wp_cooper2019":  (Wordmove::ShellCommandError)
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh.rb:80:in `download_remote_db'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh/wpcli_sql_adapter.rb:34:in `adapt_remote_db!'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh.rb:48:in `pull_db'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:79:in `block in pull'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:42:in `block in handle_options'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:41:in `each'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:41:in `handle_options'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:78:in `pull'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/exe/wordmove:6:in `<top (required)>'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/wordmove:23:in `load'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/wordmove:23:in `<main>'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/ruby_executable_hooks:24:in `eval'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/ruby_executable_hooks:24:in `<main>'

So it looks to have more to do with running more then one command over an existing. If I run it once so that the 'dump.sql' is created and sitting there, then comment out the line that runs that dump and jsut leave 'remote_run compress_command(remote_dump_path)' it will compress the file with no error and then error out on the remote_get command down below:

wordmove pull -d

▬▬ Using Movefile: ./movefile.yml ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▬▬ Pulling Database ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    local | mysqldump --host=127.0.0.1 --port=8889 --user=[blank] --password=[blank] --result-file="/sites/cooper2019/wp-content/local-backup-1559324538.sql" cooper2019
mysqldump: [Warning] Using a password on the command line interface can be insecure.
    local | gzip -9 -f "/sites/cooper2019/wp-content/local-backup-1559324538.sql"
   remote | gzip -9 -f "/home/wpe-user/sites/cooper2019/wp-content/dump.sql"
   remote | get: /home/wpe-user/sites/cooper2019/wp-content/dump.sql.gz /sites/cooper2019/wp-content/dump.sql.gz
/Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-scp-1.2.1/lib/net/scp.rb:365:in `block (3 levels) in start_command': SCP did not finish successfully (1):  (Net::SCP::Error)
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/channel.rb:607:in `do_close'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/session.rb:573:in `channel_closed'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/session.rb:684:in `channel_close'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/session.rb:549:in `dispatch_incoming_packets'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/session.rb:246:in `ev_preprocess'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/event_loop.rb:99:in `each'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/event_loop.rb:99:in `ev_preprocess'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/event_loop.rb:27:in `process'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/session.rb:225:in `process'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/session.rb:178:in `block in loop'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/session.rb:178:in `loop'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/session.rb:178:in `loop'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-ssh-4.2.0/lib/net/ssh/connection/channel.rb:269:in `wait'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/net-scp-1.2.1/lib/net/scp.rb:321:in `download!'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/photocopier-1.3.2/lib/photocopier/ssh.rb:16:in `get'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh.rb:58:in `block (2 levels) in <class:SSH>'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh.rb:84:in `download_remote_db'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh/wpcli_sql_adapter.rb:34:in `adapt_remote_db!'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/deployer/ssh.rb:48:in `pull_db'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:79:in `block in pull'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:42:in `block in handle_options'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:41:in `each'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:41:in `handle_options'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/lib/wordmove/cli.rb:78:in `pull'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/gems/wordmove-4.0.1/exe/wordmove:6:in `<top (required)>'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/wordmove:23:in `load'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/wordmove:23:in `<main>'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/ruby_executable_hooks:24:in `eval'
    from /Users/markkenney/.rvm/gems/ruby-2.4.6/bin/ruby_executable_hooks:24:in `<main>'

If I follow the same pattern and remove the 'remote_run compress_command(remote_dump_path)' it will now run the remote_get command and actually get the file.

Not sure if this helps at all?

mechdog commented 5 years ago

Apologize for the dirty code in advance:

I made a global version of the ssh_options to try something:

def initialize(environment, options)
        super
        ssh_options = remote_options[:ssh]
        @ssh_options = ssh_options
        if simulate? && ssh_options[:rsync_options]
          ssh_options[:rsync_options].concat(" --dry-run")
        elsif simulate?
          ssh_options[:rsync_options] = "--dry-run"
        end

        @copier = Photocopier::SSH.new(ssh_options).tap { |c| c.logger = logger }

        @local_dump_path = local_wp_content_dir.path("dump.sql")
        @local_backup_path = local_wp_content_dir.path("local-backup-#{Time.now.to_i}.sql")
        @local_gzipped_dump_path = local_dump_path + '.gz'
        @local_gzipped_backup_path = local_wp_content_dir
                                     .path("#{environment}-backup-#{Time.now.to_i}.sql.gz")
      end

Then I updated the 'download_remote_db' to create a new @copier each time around.

def download_remote_db(local_gizipped_dump_path)
        remote_dump_path = remote_wp_content_dir.path("dump.sql")
        # dump remote db into file
        remote_run mysql_dump_command(remote_options[:database], remote_dump_path)
        @copier = Photocopier::SSH.new(@ssh_options).tap { |c| c.logger = logger }
        remote_run compress_command(remote_dump_path)
        remote_dump_path += '.gz'
        # download remote dump
        @copier = Photocopier::SSH.new(@ssh_options).tap { |c| c.logger = logger }
        remote_get(remote_dump_path, local_gizipped_dump_path)
        remote_delete(remote_dump_path)
      end

That will successfully run. Not sure what that means. But thought I would mention it to see if it means something.

alessandro-fazzi commented 5 years ago

Nice trip here 🙂

I’ll take a dive for sure, trying to compose an idea from those symptoms.

alessandro-fazzi commented 5 years ago

Hi @mechdog ,

would you like to do a first enigmatic test doing

gem uninstall wordmove && gem install wordmove --pre

??? I've studied a bit of SSH's protocol behaviour and its asynchronous channels, driven by your inspection. Really don't know if I'm on the right path, but we have to start walking :)

Thanks in advance 🙏

mechdog commented 5 years ago

I sure can. I went ahead and ran that under a a ruby 2.4.1 rvm install so I can swap back and forth as needed for work. It runs to the same error as before. What do you want me to do as the next step?

StephenGravitt commented 5 years ago

Having the same issue on WPE - following :)

alessandro-fazzi commented 5 years ago

@mechdog simply re-do

gem uninstall wordmove && gem install wordmove --pre

version 4.0.2.pre2 should be installed. Please check with wordmove --version and try again with your hosting provider.

mechdog commented 5 years ago

Okay. I think I have everything done correctly. Here is the error I'm receiving

Marks-MacBook-Pro-2:peake2019 markkenney$ wordmove --version
4.0.2.pre2
Marks-MacBook-Pro-2:peake2019 markkenney$ wordmove pull -d

▬▬ Using Movefile: ./movefile.yml ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▬▬ Pulling Database ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    local | mysqldump --host=127.0.0.1 --port=8889 --user=[removed] --password=[removed] --result-file="/sites/peake2019/wp-content/local-backup-1559742108.sql" peake2019
mysqldump: [Warning] Using a password on the command line interface can be insecure.
    local | gzip -9 -f "/sites/peake2019/wp-content/local-backup-1559742108.sql"
   remote | mysqldump --host=127.0.0.1 --user=[removed] --password=[removed] --result-file="/home/wpe-user/sites/peake2019/wp-content/dump.sql" wp_peake2019
/Users/markkenney/.rvm/gems/ruby-2.4.1/gems/wordmove-4.0.2.pre2/lib/wordmove/deployer/ssh.rb:68:in `remote_run': undefined method `zero?' for nil:NilClass (NoMethodError)
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/wordmove-4.0.2.pre2/lib/wordmove/deployer/ssh.rb:79:in `download_remote_db'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/wordmove-4.0.2.pre2/lib/wordmove/deployer/ssh/wpcli_sql_adapter.rb:34:in `adapt_remote_db!'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/wordmove-4.0.2.pre2/lib/wordmove/deployer/ssh.rb:48:in `pull_db'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/wordmove-4.0.2.pre2/lib/wordmove/cli.rb:79:in `block in pull'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/wordmove-4.0.2.pre2/lib/wordmove/cli.rb:42:in `block in handle_options'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/wordmove-4.0.2.pre2/lib/wordmove/cli.rb:41:in `each'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/wordmove-4.0.2.pre2/lib/wordmove/cli.rb:41:in `handle_options'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/wordmove-4.0.2.pre2/lib/wordmove/cli.rb:78:in `pull'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/gems/wordmove-4.0.2.pre2/exe/wordmove:6:in `<top (required)>'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/bin/wordmove:22:in `load'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/bin/wordmove:22:in `<main>'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
    from /Users/markkenney/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'
alessandro-fazzi commented 5 years ago

This was just my distraction. Sorry about that.

Latest version is pre4 and it should work w/o that exception; obviously IDK if it could solve the problem we're investigating on :)

mechdog commented 5 years ago

Sorry for the delay. So far, it looks like that was the ticket! I'll keep trying it, but I just pulled and pushed with the pre4 addition.

The database push back up fails, but I think that is because it is seeing the user as a remote user instead of a local and denying permission. This is a separate issue completely though so I will look into it and open a separate ticket at some point.

Thank you!!!

alessandro-fazzi commented 5 years ago

Ok @mechdog ; thanks for the follow-up. As far as it stands, I'm really happy with our progresses. Would you mind to give a definitive feedback before we'll close the issue? I'll have time to write down something definitive and more polite just on next week and that would be a geat reminder for me :)

In the meanwhile you'll have more chance to test and to figure out drawbacks...

Lemme know. Thanks again

mechdog commented 5 years ago

I tested on a new area and can confirm that the changes now allow pulling of the information from WPEngine without the error.

alessandro-fazzi commented 5 years ago

@frontenddevguy and @kLOsk would mind to test this pre-release before I'll go down with a serious write?

kLOsk commented 5 years ago

can confirm, pulling db is now working nicely with wpengine and 4.0.2.pre4

alessandro-fazzi commented 5 years ago

Ooook, thanks. I'll put my head on this in the next week

kauaicreative commented 4 years ago

any word on wordmove pull -d working with WPEngine?

kLOsk commented 4 years ago

Working, using the pre release as explained above!

alessandro-fazzi commented 4 years ago

Hello there,

today we released wordmove 5.0.0; I'd like to take the work of the branch with the patch done specifically for this issue, rebase on latest version and release a dev version.

This patch is not ready for production, but I want to keep the light on it, test more, understand more and maybe improve the patch itself.

In the meantime if I wont rebase and release an ad-hoc version, you all will be bound to an older version.

So far so good, but remember that 5.0.0 has bumped ruby required version to 2.6.5.

To install the updated development version

gem uninstall wordmove
gem install wordmove -v=5.0.0.dev

pls, don't ask, but today the usual --pre flag seems not working...

Hope you will appreciate.

Regards

alessandro-fazzi commented 2 years ago

This actually was fixed and then abandoned. Sorry.