View Source Needle.Pointable (needle v0.8.0)
Sets up an Ecto Schema for a Pointable table.
Sample Usage
use Needle.Pointable,
otp_app: :my_app, # your OTP application's name
source: "my_table", # default name of table in database
table_id: "01EBTVSZJ6X02J01R1XWWPWGZW" # unique ULID to identify table
pointable_schema do
# ... fields go here, if any
endOverriding with configuration
During use (i.e. compilation time), we will attempt to load
configuration from the provided :otp_app under the key of the
current module. Any values provided here will override the defaults
provided to use. This allows you to configure them after the fact.
Additionally, pointables use Exto's flex_schema(), so you can
provide additional configuration for those in the same place.
I shall say it again because it's important: This happens at compile time. You must rebuild the app containing the pointable whenever the configuration changes.
Introspection
Defines a function __pointers__/1 to introspect data. Recognised
parameters:
:role - :pointable
:table_id - retrieves the ULID id of the pointable table.
:otp_app - retrieves the OTP application to which this belongs.