Hello
Just update with Composer a D8.3.2 site to 8.3.4.

When I run the drush updb :

../vendor/drush/drush/drush updb  
The following module is missing from the file system: entity bootstrap.inc:250                                                     [warning]
No database updates required          

[success]

Why this "module missing : entity" ?
I think entity is now in the Drupal Core ?

It's seem to be only a warning.
Site is running correctly.

Thanks.
Didier

Comments

sprite’s picture

0. backup your site's code directory and your site's SQL database
1. delete the /core and /vendor directories completely
2. delete the composer.lock file
3. in shell run "composer install"
4. in shell run "composer update"
5. run in browser {site}/update.php

The steps above will completely rebuild your drupal code configuration.
Be sure to configure ALL the contrib modules your D8 site uses in the "require" section of the composer.json file.
No drush needed.

spritefully yours
Technical assistance provided to the Drupal community on my own time ...
Thank yous appreciated ...

didier misson’s picture

Hello Sprite.

0. Backup is ok.
1. I will delete /web/core and /vendor
...
Probably I will not need to configure all contrib modules in composer.json, as I don't delete composer.json ?

I will do this this evening...
Thanks.
Didier

sprite’s picture

The directories to delete before D8 config rebuild are:

/core

/vendor

-

The reason you want to add all contrib modules you use to your composer.json is so that the composer utility can keep them under version management.

There are even some D8 contrib modules that can ONLY be installed and maintained using the composer utility.

The logic is that if you are using the composer utility to maintain your D8 site's code configuration, then the composer utility should maintain ALL of its core and module versioning.

Trust me, you will see the benefits in the long run.

With D8, maintaining the composer.json file is the heart of maintaining the D8 site's code configuration.

spritefully yours
Technical assistance provided to the Drupal community on my own time ...
Thank yous appreciated ...

didier misson’s picture

I install this site with

composer create-project drupal-composer/drupal-project:8.x-dev public_html --stability dev --no-interaction

So the directories are

/web/core
/vendor

Yes, now that I begin to understand Composer, I install ALL modules with Composer
Not via Drush, and not via the Drupal extensions pages.

Ok, I understand : yes I already have ALL contrib modules in the composer.json file
as I install ALL modules with composer.

Some months ago, I crash some sites by using drush to upgrade the D8.1.n ....
Yes, I had backup ;-)

Now I only use composer.

Ok, I will do this, this evening.

Thanks
Didier

sprite’s picture

Next time, I recommend you don't use that script to install core Drupal 8.
All you need to do is place the D8 code, run install.php, and the core install is complete.
Then install composer.
Then add desired contrib modules to require section of composer.json and run composer update.
Core D8 site is then ready for dev work.

spritefully yours
Technical assistance provided to the Drupal community on my own time ...
Thank yous appreciated ...

didier misson’s picture

Not using this script to install D8 ?

But I read this in the doc page on drupal.org !
https://www.drupal.org/docs/develop/using-composer/using-composer-to-man...

----------------------
Creating a new Drupal site
Starting a new Drupal installation using Composer create-project

You may use Composer to download Drupal itself. There are two templates that can be used to generate your new Drupal site via Composer:

drupal-composer/drupal-project. This open source project acts as a kickstarter for Composer-based Drupal sites. It provides default configuration that otherwise needs to be added manually.Using drupal-composer/drupal-project

$ composer create-project drupal-composer/drupal-project:8.x-dev my_site_name_dir --stability dev --no-interaction

---------------

With this script, all is managed, even the scaffold files and drush !

...

Thanks.
Didier

sprite’s picture

At the top, you said your site is now broken after using the scripts you site.

spritefully yours
Technical assistance provided to the Drupal community on my own time ...
Thank yous appreciated ...

didier misson’s picture

hello

Not broken after using this install script :

composer create-project drupal-composer/drupal-project:8.x-dev public_html --stability dev --no-interaction

I install, I don't remember, but I think D8.2.8, with this script.
all was fine.

But now that I update with composer --> 8.3.4
of course, after composer update, I need to update the MySQL DB, with drush updb

I have this message about a module missing !

../vendor/drush/drush/drush updb  
The following module is missing from the file system: entity bootstrap.inc:250                                                     [warning]
No database updates required

I have other sites, installed with the same "composer create-project drupal-composer/" without any problem, now in 8.3.6 (several composer update)...

So I think the problem is not the install procedure
but probably link to a module and missing dependencies ...
But why ?

This site is NOT in Prod !
So I'm not blocked.

I need to update it, but I try on a "lab" site.

Thanks.
Didier

mmjvb’s picture

and determine whether the module is missing or the yml is wrong.

Considering it is a warning, you can also ignore it as it is not a PROD site.