def engine_descriptors():
"""Provide a listing of all the database implementations supported.
-
- This data is provided as a list of dictionaries, where each
- dictionary contains the following key/value pairs:
-
- name
- the name of the engine, suitable for use in the create_engine function
-
- description
- a plain description of the engine.
-
- arguments
- a dictionary describing the name and description of each
- parameter used to connect to this engine's underlying DB-API.
-
- This function is meant for usage in automated configuration tools
- that wish to query the user for database and connection
- information.
+
+ deprecated - this method will be removed in 0.5.
"""
result = []
__import__('sqlalchemy.databases.%s' % module).databases, module)
result.append(module.descriptor())
return result
+engine_descriptors = util.deprecated(engine_descriptors)
+
default_strategy = 'plain'
def create_engine(*args, **kwargs):
def get_dialect(self):
"""Return the SQLAlchemy database dialect class corresponding to this URL's driver name."""
- dialect=None
- if self.drivername == 'ansi':
- import sqlalchemy.ansisql
- return sqlalchemy.ansisql.dialect
-
+
try:
- module=getattr(__import__('sqlalchemy.databases.%s' % self.drivername).databases, self.drivername)
- dialect=module.dialect
+ module = getattr(__import__('sqlalchemy.databases.%s' % self.drivername).databases, self.drivername)
+ return module.dialect
except ImportError:
if sys.exc_info()[2].tb_next is None:
import pkg_resources
for res in pkg_resources.iter_entry_points('sqlalchemy.databases'):
- if res.name==self.drivername:
- dialect=res.load()
- else:
- raise
- if dialect is not None:
- return dialect
- raise ImportError('unknown database %r' % self.drivername)
+ if res.name == self.drivername:
+ return res.load()
+ raise
def translate_connect_args(self, names=[], **kw):
"""Translate url attributes into a dictionary of connection arguments.