Skip to content

Instantly share code, notes, and snippets.

@hrobeers
Last active December 20, 2015 18:09
Show Gist options
  • Save hrobeers/6173863 to your computer and use it in GitHub Desktop.
Save hrobeers/6173863 to your computer and use it in GitHub Desktop.
Code to try many-to-many mapping with boss_db
Part = bossSandbox_part:new(id, "Part 1", "File 1", "Guid 1").
Asm = bossSandbox_assembly:new(id, "Assembly 1").
Part:save().
Asm:save().
P = boss_db:find_first(bossSandbox_part).
A = boss_db:find_first(bossSandbox_assembly).
Link = bossSandbox_partassembly:new(id, P:id(), A:id()).
Link:save().
PA = boss_db:find_first(bossSandbox_partassembly).
PA:part().
PA:assembly().
NewP = boss_db:find_first(bossSandbox_part).
NewA = boss_db:find_first(bossSandbox_assembly).
NewP:partassemblys().
NewA:partassemblys().
%%%%%%%%%%
% OUTPUT %
%%%%%%%%%%
(bossSandbox@***)1> Part = bossSandbox_part:new(id, "Part 1", "File 1", "Guid 1").
{bossSandbox_part,id,"Part 1","File 1","Guid 1"}
(bossSandbox@***)2> Asm = bossSandbox_assembly:new(id, "Assembly 1").
{bossSandbox_assembly,id,"Assembly 1"}
(bossSandbox@***)3> Part:save().
{ok,{bossSandbox_part,"bossSandbox_part-1","Part 1","File 1","Guid 1"}}
(bossSandbox@***)4> Asm:save().
{ok,{bossSandbox_assembly,"bossSandbox_assembly-2","Assembly 1"}}
(bossSandbox@***)5> P = boss_db:find_first(bossSandbox_part).
{bossSandbox_part,"bossSandbox_part-1","Part 1","File 1","Guid 1"}
(bossSandbox@***)6> A = boss_db:find_first(bossSandbox_assembly).
{bossSandbox_assembly,"bossSandbox_assembly-2","Assembly 1"}
(bossSandbox@***)7> Link = bossSandbox_partassembly:new(id, P:id(), A:id()).
{bossSandbox_partassembly,id,"bossSandbox_part-1","bossSandbox_assembly-2"}
(bossSandbox@***)8> Link:save().
{ok,{bossSandbox_partassembly,"bossSandbox_partassembly-3","bossSandbox_part-1","bossSandbox_assembly-2"}}
(bossSandbox@***)9> PA = boss_db:find_first(bossSandbox_partassembly).
{bossSandbox_partassembly,"bossSandbox_partassembly-3","bossSandbox_part-1","bossSandbox_assembly-2"}
(bossSandbox@***)10> PA:part().
{bossSandbox_part,"bossSandbox_part-1","Part 1","File 1","Guid 1"}
(bossSandbox@***)11> PA:assembly().
{bossSandbox_assembly,"bossSandbox_assembly-2","Assembly 1"}
(bossSandbox@***)12> NewP = boss_db:find_first(bossSandbox_part).
{bossSandbox_part,"bossSandbox_part-1","Part 1","File 1","Guid 1"}
(bossSandbox@***)13> NewA = boss_db:find_first(bossSandbox_assembly).
{bossSandbox_assembly,"bossSandbox_assembly-2","Assembly 1"}
(bossSandbox@***)14> NewP:partassemblys().
[]
(bossSandbox@***)15> NewA:partassemblys().
[]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment