core-command icon indicating copy to clipboard operation
core-command copied to clipboard

wp core update-db --network only updates the first network for "multinetwork" install

Open javiercasares opened this issue 4 years ago • 2 comments

Hello! I've been trying something but doesn't work fine.

I have a WordPress MultiNetwork installed (for a client) and I've been trying to do this command wp core update-db like a network, but doesn't update everything.

wp core update-db --network --path=/web/example.com/

This updates the "first" multisite, as expected.

But, there are 2 networks, and inside each one, there are some subsites. If I execute

wp core update-db --network --url="network1.com" --path=/web/example.com/

Or any other "url" it always executes the first multisite in the network.

I think there are 2 possibles solutions there. The first one (I think that will the best one) is to run

wp core update-db --network --path=/web/example.com/

and check all the subsites (whatever network they are). I think maybe check all the sites in the database active or not (because archived sites should also update the database tables).

The other case may be to use the --url parameter with the main hostname (in a multinetwork you have hostnames and then subfolders), so if you use the --url parameter, check al the sites for this network.

javiercasares avatar Oct 25 '21 15:10 javiercasares

Yup, the issue is browser-request is sending Accept: application/json when the POST request has no body, express json parser is trying to parse the request as json but fails with no body and crashes

We can not use .defaults({json: true}) and only add that to requests that have a body, or patch browser-request or express json body parser, I hadnt dont it yet since I was possibly thinking of replacing browser-request with the ajax library from pouchdb, but that part isnt ready yet

daleharvey avatar Dec 21 '14 18:12 daleharvey

Thank you for your reply. I got easier solution to work around it. Just use opts hash as we did on login, opts.data = {}; that's it. /logout work very well.

I have another questions for you. If you have time, please shed some light on.

  1. How does this work for Mobile Cordova app? Email verification cannot go to Cordova app.
  2. When email verification launches different browser than app browser, how could app browser get authentication?

Jing

On Sun, Dec 21, 2014 at 1:16 PM, Dale Harvey [email protected] wrote:

Yup, the issue is browser-request is sending Accept: application/json when the POST request has no body, express json parser is trying to parse the request as json but fails with no body and crashes

We can not use .defaults({json: true}) and only add that to requests that have a body, or patch browser-request or express json body parser, I hadnt dont it yet since I was possibly thinking of replacing browser-request with the ajax library from pouchdb, but that part isnt ready yet

— Reply to this email directly or view it on GitHub https://github.com/pouchdb/pouch.host/issues/45#issuecomment-67778966.

jzkunlun avatar Dec 21 '14 18:12 jzkunlun

I havent solved those problems yet, it seems like it should be possible to have the email launch the installed application but I havent looked into it

daleharvey avatar Dec 21 '14 19:12 daleharvey

I believe you can use a custom protocol handler in a separate link in the email to load in an app.

Something like: my-pouch-app://{in-app-registration-url}/{token}

The app (afaik) gets that entire string, and can do what it wants with it.

I've not personally done this, so your mileage may vary. :blue_car:

BigBlueHat avatar Apr 06 '15 14:04 BigBlueHat