View Source ArangoXEcto.Migration.Collection (ArangoX Ecto v2.0.0)

Used internally by the ArangoXEcto migration.

To define a collection in a migration, see ArangoXEcto.Migration.collection/2.

The attributes in this struct are directly passed to the ArangoDB API for creation. No validation is done on the attributes and is left to the database to manage.

Summary

Functions

Creates a new Collection struct

Types

collection_option()

@type collection_option() ::
  {:waitForSync, boolean()}
  | {:type, :document | :edge}
  | {:schema, map()}
  | {:prefix, String.t()}
  | {:keyOptions, map()}
  | {:cacheEnabled, boolean()}
  | {:numberOfShards, integer()}
  | {:isSystem, boolean()}
  | {:shardKeys, String.t()}
  | {:replicationFactor, integer()}
  | {:writeConcern, integer()}
  | {:distributeShardsLike, String.t()}
  | {:shardingStrategy, String.t()}
  | {:smartJoinAttribute, String.t()}

t()

@type t() :: %ArangoXEcto.Migration.Collection{
  cacheEnabled: boolean() | nil,
  distributeShardsLike: String.t() | nil,
  isSystem: boolean() | nil,
  keyOptions: map() | nil,
  name: String.t(),
  numberOfShards: integer() | nil,
  prefix: String.t() | nil,
  replicationFactor: integer() | nil,
  schema: map() | nil,
  shardKeys: String.t() | nil,
  shardingStrategy: String.t() | nil,
  smartJoinAttribute: String.t() | nil,
  type: 2 | 3,
  waitForSync: boolean() | nil,
  writeConcern: integer() | nil
}

Functions

new(name, opts \\ [])

@spec new(String.t(), [collection_option()]) :: t()

Creates a new Collection struct