config option is being used but SQL access isn't
desired.
+- [bug] 'alembic' command reports an informative
+ error message when the configuration is missing
+ the 'script_directory' key. #63
+
0.3.5
=====
- [bug] Fixed issue whereby reflected server defaults
present.
"""
+ script_location = config.get_main_option('script_location')
+ if script_location is None:
+ raise util.CommandError("No 'script_location' key "
+ "found in configuration.")
return ScriptDirectory(
- util.coerce_resource_to_filename(
- config.get_main_option('script_location')
- ),
+ util.coerce_resource_to_filename(script_location),
file_template = config.get_main_option(
'file_template',
_default_file_template)
from alembic import config
from alembic.migration import MigrationContext
from alembic.operations import Operations
-from tests import eq_, capture_db
+from alembic import util
+from alembic.script import ScriptDirectory
+from tests import eq_, capture_db, assert_raises_message
def test_config_no_file_main_option():
cfg = config.Config()
op.alter_column("t", "c", nullable=True)
eq_(buf, ['ALTER TABLE t ALTER COLUMN c DROP NOT NULL'])
+
+def test_no_script_error():
+ cfg = config.Config()
+ assert_raises_message(
+ util.CommandError,
+ "No 'script_location' key found in configuration.",
+ ScriptDirectory.from_config, cfg
+ )