スキーマに存在しないテーブルとまだロードされていないテーブルの違いをどのように見分けることができますか?
私は現在、mnesia:wait_for_tables() を比較的大きなタイムアウトで使用してテーブルを検出していますが、これは緩く (テーブルが実際に起動するのに時間がかかる場合)、時間がかかります (テーブルが実際に存在しない場合)。
多分試して...
lists:member(table_name, mnesia:table_info(schema, 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).
ローカル ノードにコピーがない場合、これは「不明」を返します。