I've recently upgraded from 5.4 to 5.5, then 5.6, and had no problems whatsoever until yesterday when I confidently upgraded my sites to 5.7. Now the "Body" text box is missing from create/edit forms for pages and stories. It's still there for forum and blog postings.

Comments

rernst’s picture

Go to admin/content/types and check both the story and page type, to see if the name of the 'Body' field is filled in. If it isn't, those fields will not show up on the add/edit form

klance’s picture

Thanks for pointing me in this direction, rernst. I checked, and the body field titles for both page and story are set to the default, "Body." Just for fun, however, I decided to change it and see what happened. This is what I got:

* warning: pg_query(): Query failed: ERROR: column "has_title" of relation "node_type" does not exist in database.pgsql.inc on line 125.
* user warning: query: UPDATE crc.node_type SET type = 'page', name = 'Page', module = 'node', has_title = 1, title_label = 'Title', has_body = 1, body_label = 'Main Content', description = 'If you want to add a static page, like a contact page or an about page, use a page.', help = '', min_word_count = 0, custom = 1, modified = 1, locked = 0 WHERE type = 'page' in database.pgsql.inc on line 144.

That means that, at some point, a database upgrade script must have failed. I'm running Drupal in several schemas in PostgreSQL, and I might have forgotten to upgrade the base schema to the new version before upgrading, so the smallint_unsigned types that the "has_body" and "has_title" columns use might not have existed; hence the failure. I'll go and manually add these columns to my node_type table, and try it again.

And the verdict is...

It works! You're a lifesaver, rernst.

Drakken_Mordith’s picture

Having hit this problem myself I wanted to note that in Drupal 6.x (not sure specifically when this changed), but the problem for me was a blank 'Body Label Field'. That is currently found here:

Administer >> Content Management >> Content Types >> Submission Form Settings >> Body Label Field