Merge branche doc-dc
authorThierry Florac <thierry.florac@onf.fr>
Thu, 12 Apr 2018 10:06:08 +0200
changeset 51 3881fc92a30a
parent 48 e6dcf3ca56d2 (current diff)
parent 50 aedab26ef690 (diff)
child 52 d078dab8ecd0
Merge branche doc-dc
--- a/src/pyams_alchemy/__init__.py	Wed Apr 11 10:52:14 2018 +0200
+++ b/src/pyams_alchemy/__init__.py	Thu Apr 12 10:06:08 2018 +0200
@@ -10,6 +10,35 @@
 # FOR A PARTICULAR PURPOSE.
 #
 
+"""
+PyAMS SQLAlchemy integration
+============================
+
+*pyams_alchemy* package is a small package which can be used to make SQLAlchemy integration more simple.
+
+The main goal of *pyams_alchemy* package is to define the :class:`pyams_alchemy.engine.AlchemyEngineUtility` class:
+this class can be stored persistently into PyAMS local site manager (see :ref:`site`) to store settings of an
+SQLAlchemy engine; on user request, the :func:`pyams_alchemy.engine.get_user_session` function can be used to get
+access to a new SQLAlchemy engine session matching these settings which will to be bound to current Pyramid's
+transaction.
+
+
+Dynamic schema names
+++++++++++++++++++++
+
+Some times you may have to be able to setup, for a given table, a schema name which is not static but can be dynamic
+through a configuration option.
+
+This can be done easily with the help of the :class:`pyams_alchemy.mixin.DynamicSchemaMixin` which you can inherit from
+in any SQLAlchemy table subclass.
+
+When this is done, the schema name can be defined into Pyramid's configuration file into a setting which is called
+*pyams_alchemy:{module_name}.{class_name}.schema*; for example like in
+*pyams_alchemy:pyams_content.package.TableName.schema*. If not specified, the table's schema name can be defined in a
+classic *__schema__* table's attribute.
+
+"""
+
 __docformat__ = 'restructuredtext'