Current section

Files

Jump to
fsdb script sample.exs
Raw

script/sample.exs

#run with: mix sample
{:ok, db} = Fsdb.start_link(Path.expand("_build/dev/.fsdb"))
#drop to start over
:ok = Fsdb.drop(db, "table1")
#creates table at dev default _build/dev/.fsdb
#configure path with: config :fsdb, path: <NEW_PATH>
:ok = Fsdb.create(db, "table1")
#insert generates and returns an autoincrementing id
{:ok, 1} = Fsdb.insert(db, "table1", "row1")
{:ok, "row1"} = Fsdb.fetch(db, "table1", 1)
#operation on unexisting ids return not found
:nf = Fsdb.delete(db, "table1", 5)
:nf = Fsdb.update(db, "table1", 5, "row5+")
#save overrides and updates id generator
:ok = Fsdb.save(db, "table1", 5, "row5")
:ok = Fsdb.save(db, "table1", 3, "row3")
#continue +1 of largest id used/generated before
{:ok, 6} = Fsdb.insert(db, "table1", "row6")
#operations that get back previous value
{:ok, "row5"} = Fsdb.update(db, "table1", 5, "row5+")
{:ok, "row5+"} = Fsdb.save(db, "table1", 5, "row5++")
{:ok, "row5++"} = Fsdb.delete(db, "table1", 5)
#tuples may not be id ordered
[{1, "row1"}, {3, "row3"}, {6, "row6"}] = Fsdb.list(db, "table1")