We attempted to deploy domain_entity to an existing site. The variable domain_entity_allowed_entity_types was exported via strongarm/features. When trying to enable domain_entity a cascade of edge cases caused a PDO exception in domain_entity_entity_field_instance() because domain_entity_field_instances() returned an empty list.

On additional requests domain_entity will assume that its field table exists, causing further invalid Joins when configured entities are loaded.

CommentFileSizeAuthor
trace.png117.58 KBciss

Comments

ciss created an issue. See original summary.

ciss’s picture

Title: Installation fails on sites with preexisting domain_entity configuration » Installation might fail on sites with exported domain_entity configuration
ciss’s picture

Recovery steps:

  1. Open the system table in your DB, look for domain_entity, set status to 0 and schema_version to -1.
  2. Truncate cache_bootstrap table. Additionally trigger a cache clear to be safe.
  3. In your settings.php add $conf['domain_entity_allowed_entity_types'] = array();
  4. Enable domain_entity.
  5. Remove $conf entry from settings.php. Do not access any pages yet.
  6. Visit /admin/structure/domain/entities (you should see your exported configuration) and submit the form.
ciss’s picture

At this point I'm fairly certain that domain_entity will break for any site that uses strongarm to manage the domain_entity configuration. It is my understanding that domain_entity will automatically assume that a field table exists if there are settings for the entity type.

bohart’s picture

Status: Active » Closed (outdated)

D7 reached its EOL back in January 2025, and there is no active release for D7 for this module.
Neither development nor support is planned for D7.

All D7-related issues (especially those with ~10 years of inactivity) are marked as outdated in a bunch.
If/once the issue still arises in D11+ versions, please create a follow-up issue.

Thanks!

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.