Current section
Files
Jump to
Current section
Files
lib/amnesia/schema.ex
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
# Version 2, December 2004
#
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
#
# 0. You just DO WHAT THE FUCK YOU WANT TO.
defmodule Amnesia.Schema do
@doc """
Print the schema information.
"""
@spec print :: :ok
def print do
:mnesia.schema
end
@doc """
Print the schema of the given table.
"""
@spec print(atom) :: :ok
def print(tab) do
:mnesia.schema(tab)
end
@doc """
Create the schema on the given nodes.
"""
@spec create :: :ok | { :error, any }
@spec create([node]) :: :ok | { :error, any }
def create(nodes \\ [node()]) do
if path = Application.get_env(:mnesia, :dir) do
File.mkdir_p(path)
end
:mnesia.create_schema(nodes)
end
@doc """
Destroy the schema on the given nodes.
"""
@spec destroy :: :ok | { :error, any }
@spec destroy([node]) :: :ok | { :error, any }
def destroy(nodes \\ [node()]) do
:mnesia.delete_schema(nodes)
end
end