• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python shell.main函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中migrate.versioning.shell.main函数的典型用法代码示例。如果您正苦于以下问题:Python main函数的具体用法?Python main怎么用?Python main使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了main函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: take_action

    def take_action(self, opts):
        #Work-around for SQLA0.8 being incompatible with sqlalchemy-migrate
        import sqlalchemy
        sqlalchemy.exceptions = sqlalchemy.exc

        from migrate.versioning.shell import main

        sect = 'app:main'
        option = 'sqlalchemy.url'

        # get sqlalchemy.url config in app:mains
        conf = ConfigParser()
        conf.read(opts.ini)

        name = "migration"
        try:
            dburi = conf.get(sect, option, vars={'here':os.getcwd()})
        except:
            print("Unable to read config file or missing sqlalchemy.url in app:main section")
            return

        print("Migrations repository '%s',\ndatabase url '%s'\n"%(name, dburi))
        if not opts.args:
            opts.args = ['help']
        sys.argv[0] = sys.argv[0] + ' migrate'
        main(argv=opts.args, url=dburi, repository=name, name=name)
开发者ID:TurboGears,项目名称:tg2devtools,代码行数:26,代码来源:sqlamigrate.py


示例2: invoke_migrate_main

def invoke_migrate_main():
    # Migrate has its own args, so cannot use argparse
    config = get_config(sys.argv, use_argparse=False)
    db_url = config['db_url']
    repo = config['repo']

    main(repository=repo, url=db_url)
开发者ID:ImmPortDB,项目名称:immport-galaxy,代码行数:7,代码来源:manage_db.py


示例3: parseOptions

 def parseOptions(self, options=None):
     if not required_imports_ok():
         sys.exit(1)
     from migrate.versioning.shell import main
     # Tweak sys.argv
     sys.argv = sys.argv[sys.argv.index('migrate'):]
     main(url=db.create_engine().url, repository=UPGRADES_REPO.path)
     sys.exit()
开发者ID:UfSoft,项目名称:SSHg,代码行数:8,代码来源:service.py


示例4: handle

        def handle(self, app, prog, name, remaining_args):
            optional = {}
            repository = app.config.get('SQLALCHEMY_MIGRATE_REPOSITORY', False)
            if repository:
                optional['repository'] = repository

            shell.main(remaining_args,
                       url=app.config['SQLALCHEMY_DATABASE_URI'],
                       debug=app.config['DEBUG'],
                       **optional)
开发者ID:miracle2k,项目名称:flask-sqlalchemy,代码行数:10,代码来源:flask_sqlalchemy.py


示例5: _check_error

 def _check_error(self,args,code,expected,**kw):
     original = sys.stderr
     try:
         actual = StringIO()
         sys.stderr = actual
         try:
             shell.main(args,**kw)
         except SystemExit, e:
             self.assertEqual(code,e.args[0])
         else:
开发者ID:Fematich,项目名称:article_browser,代码行数:10,代码来源:test_shell.py


示例6: test_shutdown_logging

    def test_shutdown_logging(self):
        """Try to shutdown logging output"""
        repos = self.tmp_repos()
        result = self.env.run('migrate create %s repository_name' % repos)
        result = self.env.run('migrate version %s --disable_logging' % repos)
        self.assertEqual(result.stdout, '')
        result = self.env.run('migrate version %s -q' % repos)
        self.assertEqual(result.stdout, '')

        # TODO: assert logging messages to 0
        shell.main(['version', repos], logging=False)
开发者ID:Fematich,项目名称:article_browser,代码行数:11,代码来源:test_shell.py


示例7: main

def main(url, repository):
    # Check if database is under version control
    try:
        db_version(url, repository)
    except DatabaseNotControlledError:
        # put database under version control
        version_control(url, repository)         

    kwargs = {'url': url,
        'repository': repository
    }

    shell.main(**kwargs)
开发者ID:prinzdezibel,项目名称:p2.datashackle.repository,代码行数:13,代码来源:manage.py


示例8: test_main

    def test_main(self):
        """Test main() function"""
        repos = self.tmp_repos()
        shell.main(['help'])
        shell.main(['help', 'create'])
        shell.main(['create', 'repo_name', '--preview_sql'], repository=repos)
        shell.main(['version', '--', '--repository=%s' % repos])
        shell.main(['version', '-d', '--repository=%s' % repos, '--version=2'])

        self._check_error(['foobar'],2,'error: Invalid command foobar')
        self._check_error(['create', 'f', 'o', 'o'],2,'error: Too many arguments for command create: o')
        self._check_error(['create'],2,'error: Not enough arguments for command create: name, repository not specified')
        self._check_error(['create', 'repo_name'],2,'already exists', repository=repos)
开发者ID:Fematich,项目名称:article_browser,代码行数:13,代码来源:test_shell.py


示例9: test_main

    def test_main(self):
        """Test main() function"""
        repos = self.tmp_repos()
        shell.main(["help"])
        shell.main(["help", "create"])
        shell.main(["create", "repo_name", "--preview_sql"], repository=repos)
        shell.main(["version", "--", "--repository=%s" % repos])
        shell.main(["version", "-d", "--repository=%s" % repos, "--version=2"])

        self._check_error(["foobar"], 2, "error: Invalid command foobar")
        self._check_error(["create", "f", "o", "o"], 2, "error: Too many arguments for command create: o")
        self._check_error(
            ["create"], 2, "error: Not enough arguments for command create: name, repository not specified"
        )
        self._check_error(["create", "repo_name"], 2, "already exists", repository=repos)
开发者ID:Gitlena,项目名称:ichhabkeinblog,代码行数:15,代码来源:test_shell.py


示例10: _check_error

 def _check_error(self,args,code,expected,**kw):
     original = sys.stderr
     try:
         actual = cStringIO()
         sys.stderr = actual
         try:
             shell.main(args,**kw)
         except SystemExit as e:
             self.assertEqual(code,e.args[0])
         else:
             self.fail('No exception raised')
     finally:
         sys.stderr = original
     actual = actual.getvalue()
     self.assertTrue(expected in actual,'%r not in:\n"""\n%s\n"""'%(expected,actual))
开发者ID:BLourence,项目名称:RemoteIR,代码行数:15,代码来源:test_shell.py


示例11: setup_schema

def setup_schema(command, conf, vars):
    """Place any commands to setup tutorial here"""
    # Load the models

    # <websetup.websetup.schema.before.model.import>
    from tutorial import model
    # <websetup.websetup.schema.after.model.import>

    
    # <websetup.websetup.schema.before.metadata.create_all>
    print "Creating tables"
    model.metadata.create_all(bind=config['pylons.app_globals'].sa_engine)
    # <websetup.websetup.schema.after.metadata.create_all>
    transaction.commit()
    from migrate.versioning.shell import main
    main(argv=['version_control'], url=config['sqlalchemy.url'], repository='migration', name='migration')
开发者ID:mokshaproject,项目名称:moksha-turbogears2-hello_world,代码行数:16,代码来源:schema.py


示例12: _perform_appless_action

    def _perform_appless_action(self, pluggable):
        repository = self._pluggable_repository(pluggable)
        if repository is None:
            return

        tablename = self._pluggable_tablename(pluggable)
        print "\n%s Migrations" % pluggable
        print "\tRepository '%s'" % repository
        print "\tVersioning Table '%s'" % tablename

        #disable logging, this is due to sqlalchemy-migrate bug that
        #causes the disable_logging option to ignored
        args = self.args[:1] + ['-q'] + self.args[1:]

        main(argv=args, url=None, repository=repository, name=pluggable,
             version_table=tablename, disable_logging=True)
开发者ID:simock85,项目名称:tgext.pluggable,代码行数:16,代码来源:migration.py


示例13: command

    def command(self):
        ini = 'development.ini'
        sect = 'app:main'
        option = 'sqlalchemy.url'

        # get sqlalchemy.url config in app:mains
        curdir = os.getcwd()
        conf = ConfigParser.ConfigParser()
        conf.read(os.path.join(curdir, ini))

        self.name = "migration"
        try:
            self.dburi = conf.get(sect, option, vars={'here':curdir})
        except:
            print "you shold set sqlalchemy.url in development.ini first"

        print "The repository is '%s'\nThe url is '%s'"%(self.name, self.dburi)
        main(argv=self.args, url=self.dburi,repository=self.name, name=self.name)
开发者ID:desarrollo1,项目名称:tg2env,代码行数:18,代码来源:migration.py


示例14: _perform_migration

    def _perform_migration(self, pluggable):
        repository = self._pluggable_repository(pluggable)
        if repository is None or not os.path.exists(repository):
            print "%s - Pluggable does not support migrations" % pluggable
            return

        tablename = self._pluggable_tablename(pluggable)
        print '\n%s Migrations' % pluggable
        print "\tRepository '%s'" % repository
        print "\tDatabase '%s'" % self.dburi
        print "\tVersioning Table '%s'" % tablename

        #disable logging, this is due to sqlalchemy-migrate bug that
        #causes the disable_logging option to ignored
        args = self.args[:1] + ['-q'] + self.args[1:]

        main(argv=args, url=self.dburi, repository=repository, name=pluggable,
             version_table=tablename, disable_logging=True)
开发者ID:simock85,项目名称:tgext.pluggable,代码行数:18,代码来源:migration.py


示例15: setup_schema

def setup_schema(command, conf, vars):
    """Place any commands to setup tgtodotrack here"""
    # Load the models

    # <websetup.websetup.schema.before.model.import>
    from tgtodotrack import model
    # <websetup.websetup.schema.after.model.import>

    
    # <websetup.websetup.schema.before.metadata.create_all>
    print "Creating tables"
    model.metadata.create_all(bind=config['pylons.app_globals'].sa_engine)
    # <websetup.websetup.schema.after.metadata.create_all>
    transaction.commit()
    from migrate.versioning.shell import main
    from migrate.exceptions import DatabaseAlreadyControlledError
    try:
        main(argv=['version_control'], url=config['sqlalchemy.url'], repository='migration', name='migration')
    except DatabaseAlreadyControlledError:
        print 'Database already under version control'
开发者ID:patovala,项目名称:tgtodotrack,代码行数:20,代码来源:schema.py


示例16: command

    def command(self):
        sect = 'app:main'
        option = 'sqlalchemy.url'

        # get sqlalchemy.url config in app:mains
        conf = ConfigParser.ConfigParser()
        conf.read(self.options.ini)

        self.name = "migration"
        try:
            self.dburi = conf.get(sect, option, vars={'here':os.getcwd()})
        except:
            print "Unable to read config file or missing sqlalchemy.url in app:main section"
            return

        print "Migrations repository '%s',\ndatabase url '%s'\n"%(self.name, self.dburi)
        if not self.args:
            self.args = ['help']
        sys.argv[0] = sys.argv[0] + ' migrate'
        main(argv=self.args, url=self.dburi, repository=self.name, name=self.name)
开发者ID:Cito,项目名称:tg2devtools,代码行数:20,代码来源:migration.py


示例17: take_action

    def take_action(self, opts):
        #Work-around for SQLA0.8 being incompatible with sqlalchemy-migrate
        import sqlalchemy
        sqlalchemy.exceptions = sqlalchemy.exc

        from migrate.versioning.shell import main
        from migrate.exceptions import DatabaseAlreadyControlledError, DatabaseNotControlledError

        self.args = opts.args
        self.options = opts

        if len(self.args) < 2 or self.args[0] == 'help':
            self.args = ['help']
            return main(self.args)

        self._setup_logging()
        name = pkg_resources.safe_name(self.args.pop(0))
        sys.argv[0] = sys.argv[0] + ' migrate'

        if self.args[0] in ('create', 'script'):
            self._perform_appless_action(name)
            return

        # get sqlalchemy.url config in app:mains
        conf = ConfigParser()
        conf.read(opts.ini)

        try:
            sect = 'app:main'
            option = 'sqlalchemy.url'
            self.dburi = conf.get(sect, option, vars={'here':os.getcwd()})
        except:
            print("Unable to read config file or missing sqlalchemy.url in app:main section")
            return

        pluggables_to_migrate = []
        if name == 'all':
            pluggables_to_migrate.extend(self._detect_loaded_pluggables())
        else:
            pluggables_to_migrate.append(name)

        print('Migrating', ', '.join(pluggables_to_migrate))
        for pluggable in pluggables_to_migrate:
            try:
                self._perform_migration(pluggable)
            except DatabaseAlreadyControlledError:
                print('Pluggable already under version control...')
            except DatabaseNotControlledError:
                print('Your application is not under version control for this pluggable')
                print('Please run the version_control command before performing any other action.')
开发者ID:RobertSudwarts,项目名称:tgext.pluggable,代码行数:50,代码来源:migration.py


示例18: main

#!/usr/bin/env python
from migrate.versioning.shell import main

if __name__ == '__main__':
    main(six='<module 'six' from '/Users/koki/.virtualenvs/papylus/lib/python2.7/site-packages/six.pyc'>')
开发者ID:kmagai,项目名称:papylus,代码行数:5,代码来源:manage.py


示例19: main

#!/usr/bin/env python
from migrate.versioning.shell import main

if __name__ == "__main__":
    main(url="sqlite:///puppies.db", debug="False", repository="puppy_repository")
开发者ID:fabianlischka,项目名称:Udacity-FullStack,代码行数:5,代码来源:manage.py


示例20: main

#!/usr/bin/env python
from migrate.versioning.shell import main
main(url='sqlite:///development.db', debug='False', repository='migrations_repository')
开发者ID:cemeyer2,项目名称:comoto,代码行数:3,代码来源:manage_migrations_development.py



注:本文中的migrate.versioning.shell.main函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python util.construct_engine函数代码示例发布时间:2022-05-27
下一篇:
Python schemadiff.getDiffOfModelAgainstDatabase函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap