が、「プログラミングErlang
テーブル構造を変えたときにどう作り直すかが書かれてない。まあ、仕方ないのかもしれないけど、とりあえ初学者はハマると思う。少なくとも自分ははまりました。
対処としてシンプルなのは、ノードが保存している古い情報をクリアしてテーブル構造の構築からやりなおさせるという手順。
mnesia:stop(), mnesia:delete_schema([node()]).
です。
これであらためてdo_this_once()←サンプルにあるデーブル初期化コードから実行すれば、あたらしいテーブル構造が使えるようになります。
たぶんdelete_schemaではなくテーブル単位での消去もあると思うけど、とりあえず自分のメモもかねてこれを記録しておきます、はい。