def test_event(self): from ptah.populate import create_db_schema data = [False] def event_handler(ev): data[0] = True self.registry.registerHandler( event_handler, (ptah.events.BeforeCreateDbSchema,)) create_db_schema(self.registry) self.assertTrue(data[0])
def test_event(self): from ptah.populate import create_db_schema data = [False] def event_handler(ev): data[0] = True self.registry.registerHandler(event_handler, (ptah.events.BeforeCreateDbSchema, )) create_db_schema(self.registry) self.assertTrue(data[0])
def test_skip_tables(self): from ptah.populate import create_db_schema base = ptah.get_base() class test_populate_TestTable(base): __tablename__ = 'test_populate_TestTable' id = sqla.Column('id', sqla.Integer, primary_key=True) cfg = ptah.get_settings(ptah.CFG_ID_PTAH) cfg['db_skip_tables'] = ('test_populate_TestTable',) create_db_schema(self.registry) self.assertFalse( base.metadata.tables['test_populate_TestTable'].exists()) cfg['db_skip_tables'] = () create_db_schema(self.registry) self.assertTrue( base.metadata.tables['test_populate_TestTable'].exists())
def test_skip_tables(self): from ptah.populate import create_db_schema base = ptah.get_base() class test_populate_TestTable(base): __tablename__ = 'test_populate_TestTable' id = sqla.Column('id', sqla.Integer, primary_key=True) cfg = ptah.get_settings(ptah.CFG_ID_PTAH) cfg['db_skip_tables'] = ('test_populate_TestTable', ) create_db_schema(self.registry) self.assertFalse( base.metadata.tables['test_populate_TestTable'].exists()) cfg['db_skip_tables'] = () create_db_schema(self.registry) self.assertTrue( base.metadata.tables['test_populate_TestTable'].exists())
def main(): parser = argparse.ArgumentParser(description="ptah migrate") parser.add_argument('config', metavar='config', help='ini config file') subparsers = parser.add_subparsers() # revision subparser = subparsers.add_parser(revision.__name__, help=revision.__doc__) subparser.add_argument('package', metavar='package', help='package name') subparser.add_argument("-r", "--revision", type=str, dest='revid', help="Unique revision id") subparser.add_argument("-m", "--message", type=str, dest='message', help="Message string to use with 'revision'") subparser.set_defaults(cmd='revision') # current subparser = subparsers.add_parser(current.__name__, help=current.__doc__) subparser.add_argument('package', metavar='package', nargs='*', help='package name') subparser.set_defaults(cmd='current') # upgrade subparser = subparsers.add_parser(upgrade.__name__, help=upgrade.__doc__) subparser.add_argument('package', metavar='package', nargs='*', help='package name') subparser.set_defaults(cmd='upgrade') # history subparser = subparsers.add_parser(history.__name__, help=history.__doc__) subparser.add_argument('package', metavar='package', nargs='*', help='package name') subparser.set_defaults(cmd='history') # list subparser = subparsers.add_parser('list', help='List registered migrations.') subparser.set_defaults(cmd='list') # parse args = parser.parse_args() # bootstrap pyramid env = scripts.bootstrap(args.config) if args.cmd == 'current': print('') if not args.package: args.package = ptah.get_cfg_storage(MIGRATION_ID).keys() for pkg in args.package: current(pkg) if args.cmd == 'revision': if args.revid: for ch in ',.;-': if ch in args.revid: print('Revision id contains forbidden characters') ptah.shutdown() return revision(args.package, args.revid, args.message) if args.cmd == 'upgrade': # create db schemas create_db_schema(env['registry'], False) for pkg in args.package: upgrade(pkg) if args.cmd == 'history': if not args.package: args.package = ptah.get_cfg_storage(MIGRATION_ID).keys() for pkg in args.package: history(pkg) if args.cmd == 'list': list_migrations(env['registry']) ptah.shutdown()
def main(): parser = argparse.ArgumentParser(description="ptah migrate") parser.add_argument("config", metavar="config", help="ini config file") subparsers = parser.add_subparsers() # revision subparser = subparsers.add_parser(revision.__name__, help=revision.__doc__) subparser.add_argument("package", metavar="package", help="package name") subparser.add_argument("-r", "--revision", type=str, dest="revid", help="Unique revision id") subparser.add_argument("-m", "--message", type=str, dest="message", help="Message string to use with 'revision'") subparser.set_defaults(cmd="revision") # current subparser = subparsers.add_parser(current.__name__, help=current.__doc__) subparser.add_argument("package", metavar="package", nargs="*", help="package name") subparser.set_defaults(cmd="current") # upgrade subparser = subparsers.add_parser(upgrade.__name__, help=upgrade.__doc__) subparser.add_argument("package", metavar="package", nargs="*", help="package name") subparser.set_defaults(cmd="upgrade") # history subparser = subparsers.add_parser(history.__name__, help=history.__doc__) subparser.add_argument("package", metavar="package", nargs="*", help="package name") subparser.set_defaults(cmd="history") # list subparser = subparsers.add_parser("list", help="List registered migrations.") subparser.set_defaults(cmd="list") # parse args = parser.parse_args() # bootstrap pyramid env = scripts.bootstrap(args.config) if args.cmd == "current": print("") if not args.package: args.package = ptah.get_cfg_storage(MIGRATION_ID).keys() for pkg in args.package: current(pkg) if args.cmd == "revision": if args.revid: for ch in ",.;-": if ch in args.revid: print("Revision id contains forbidden characters") ptah.shutdown() return revision(args.package, args.revid, args.message) if args.cmd == "upgrade": # create db schemas create_db_schema(env["registry"], False) for pkg in args.package: upgrade(pkg) if args.cmd == "history": if not args.package: args.package = ptah.get_cfg_storage(MIGRATION_ID).keys() for pkg in args.package: history(pkg) if args.cmd == "list": list_migrations(env["registry"]) ptah.shutdown()