Как определить разницу между таблицей, отсутствующей в схеме, и таблицей, которая еще не загружена?
В настоящее время я использую mnesia: wait_for_tables () с относительно большим тайм-аутом для обнаружения таблицы, но это бесполезно (что происходит, если для запуска таблицы действительно требуется много времени) и отнимает много времени (если таблица действительно не есть).
mnesia: table_info / 2 может помочь.
Если вы заранее знаете имена таблиц и хотите знать, на каких узлах есть данные,
mnesia:table_info(TableName, StorageType).
StorageType должен быть одним из
ram_copies, disc_copies or disc_only_copies.
или, если вы хотите знать, что локальный узел имеет копию таблицы, просто
mnesia:table_info(TableName, storage_type).
Если локальный узел НЕ имеет копии, возвращается «неизвестно».
Может быть, попытаться ...
lists:member(table_name, mnesia:table_info(schema, tables)).
Это всего лишь предположение, но оно может стать основой для эксперимента, если никто не может дать окончательный ответ.