Having the same need, I'd like to know if there is a way to do this. Thanks
On Thursday, November 14, 2013 4:24:40 AM UTC-5, Michal Nowikowski wrote: > > Hello, > > I observed that I repeat myself in upgrade modules. > So I concluded that it would be good to put that code into separate python > module and then just import it in upgrade modules. > I put my code in alembic/common.py just beside env.py. > Unfortunately it is not so easy. > Current working directory is 2 levels up regarding alembic/versions and to > import anything from alembic/common.py > I have to tweak sys,path and I cannot just add "../.." due to compelxity > of my project. > I wanted to do it using: > from alembic import context > sys.path.append(context.config.get_main_option("script_location")) > from common import add_ref, drop_ref > But it does not work: > $ alembic history > Traceback (most recent call last): > File "/usr/bin/alembic", line 9, in <module> > load_entry_point('alembic==0.4.1', 'console_scripts', 'alembic')() > File "/usr/lib/python2.7/dist-packages/alembic/config.py", line 255, in > main > CommandLine(prog=prog).main(argv=argv) > File "/usr/lib/python2.7/dist-packages/alembic/config.py", line 250, in > main > self.run_cmd(cfg, options) > File "/usr/lib/python2.7/dist-packages/alembic/config.py", line 241, in > run_cmd > **dict((k, getattr(options, k)) for k in kwarg) > File "/usr/lib/python2.7/dist-packages/alembic/command.py", line 156, in > history > for sc in script.walk_revisions(): > File "/usr/lib/python2.7/dist-packages/alembic/script.py", line 72, in > walk_revisions > heads = set(self.get_heads()) > File "/usr/lib/python2.7/dist-packages/alembic/script.py", line 269, in > get_heads > for script in self._revision_map.values(): > File "/usr/lib/python2.7/dist-packages/alembic/util.py", line 220, in > __get__ > obj.__dict__[self.__name__] = result = self.fget(obj) > File "/usr/lib/python2.7/dist-packages/alembic/script.py", line 201, in > _revision_map > script = Script._from_filename(self.versions, file_) > File "/usr/lib/python2.7/dist-packages/alembic/script.py", line 422, in > _from_filename > module = util.load_python_file(dir_, filename) > File "/usr/lib/python2.7/dist-packages/alembic/util.py", line 186, in > load_python_file > module = imp.load_source(module_id, path, open(path, 'rb')) > File "alembic/versions/31802014a5db_create_product_recor.py", line 18, > in <module> > sys.path.append(context.config.get_main_option("script_location")) > AttributeError: 'module' object has no attribute 'config' > > Do you now how to handle this? > > Regards, > Godfryd > -- You received this message because you are subscribed to the Google Groups "sqlalchemy-alembic" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy-alembic+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.