In #481758: Fatal error: Call to undefined function field_attach_load() in includes/entity.inc on line 321 during install a variety of possible causes are described that all lead to an incomplete installation.
In the case of that issue, some database tables are created, but not all of them.
Currently, Drupal 7 does a poor job of detecting an incomplete installation.
We should improve this:
- During installation, add more checks to detect if something is going wrong, and report it.
- Before a new installation, check if leftovers of a previous installation attempt are still there (database, modified settings.php). If so, tell the user about it.
- If an installation is incomplete, offer to wipe the tables and start over.
- At the end of a successful installation, set a status somewhere in the database. As long as this flag is not there, Drupal will know that installation was not complete.
- During the installation, set a status about the progress / phase / step. (Maybe we do this already, in this case let's consider if the current status information is sufficient)
- Visiting install.php at any time should trigger an installation completeness check.
I would imagine that some of these points are already implemented in some way.
But whatever currently exists is not enough.
Comments