Triplex
An apartment for succesfull Phoenix programmers.
Installation
The package can be installed as:
- Add
triplex
to your list of dependencies inmix.exs
:
def deps do
[{:triplex, "~> 0.3.2"}]
end
- Run in your shell:
mix deps.get
Configuring
All you need to do in your project to start using it is to configure the Repo you will use to execute the database commands with:
config :triplex, repo: ExampleApp.Repo
Creating tables and schemas
To create a table inside your tenant you can use the task
mix triplex.gen.migration
or move a normal migration to the
priv/YOUR_REPO/tenant_migrations
folder.
The schemas look the same way, nothing to change.
To run the tenant migrations, use the task mix triplex.migrate
, it will
migrate all your existent tenants for you.
Managing your tenants
You can use the functions Triplex.create/1
, Triplex.drop/1
and
Triplex.rename/2
to manage your tenants. You may want to use them on your
tenant operations.
PS.: we encourage you to use an unchangable field as your tenant name, that way you will not need to rename your tenant when changing the field.
Using the tenant
Finally, but not less important, you must call the function
Triplex.put_tenant/2
to any changeset, schema or query you are executing
on your “tenanted” tables.