Migrated built-in AppCommands to use handle_app_config.
This commit is contained in:
parent
bb8ec71f61
commit
a7add2f296
|
@ -18,5 +18,9 @@ class Command(AppCommand):
|
|||
|
||||
output_transaction = True
|
||||
|
||||
def handle_app(self, app, **options):
|
||||
return '\n'.join(sql_create(app, self.style, connections[options.get('database')]))
|
||||
def handle_app_config(self, app_config, **options):
|
||||
if app_config.models_module is None:
|
||||
return
|
||||
connection = connections[options.get('database')]
|
||||
statements = sql_create(app_config.models_module, self.style, connection)
|
||||
return '\n'.join(statements)
|
||||
|
|
|
@ -18,5 +18,9 @@ class Command(AppCommand):
|
|||
|
||||
output_transaction = True
|
||||
|
||||
def handle_app(self, app, **options):
|
||||
return '\n'.join(sql_all(app, self.style, connections[options.get('database')]))
|
||||
def handle_app_config(self, app_config, **options):
|
||||
if app_config.models_module is None:
|
||||
return
|
||||
connection = connections[options.get('database')]
|
||||
statements = sql_all(app_config.models_module, self.style, connection)
|
||||
return '\n'.join(statements)
|
||||
|
|
|
@ -18,5 +18,9 @@ class Command(AppCommand):
|
|||
|
||||
output_transaction = True
|
||||
|
||||
def handle_app(self, app, **options):
|
||||
return '\n'.join(sql_delete(app, self.style, connections[options.get('database')]))
|
||||
def handle_app_config(self, app_config, **options):
|
||||
if app_config.models_module is None:
|
||||
return
|
||||
connection = connections[options.get('database')]
|
||||
statements = sql_delete(app_config.models_module, self.style, connection)
|
||||
return '\n'.join(statements)
|
||||
|
|
|
@ -18,5 +18,9 @@ class Command(AppCommand):
|
|||
|
||||
output_transaction = True
|
||||
|
||||
def handle_app(self, app, **options):
|
||||
return '\n'.join(sql_custom(app, self.style, connections[options.get('database')]))
|
||||
def handle_app_config(self, app_config, **options):
|
||||
if app_config.models_module is None:
|
||||
return
|
||||
connection = connections[options.get('database')]
|
||||
statements = sql_custom(app_config.models_module, self.style, connection)
|
||||
return '\n'.join(statements)
|
||||
|
|
|
@ -19,5 +19,9 @@ class Command(AppCommand):
|
|||
|
||||
output_transaction = True
|
||||
|
||||
def handle_app(self, app, **options):
|
||||
return '\n'.join(sql_destroy_indexes(app, self.style, connections[options.get('database')]))
|
||||
def handle_app_config(self, app_config, **options):
|
||||
if app_config.models_module is None:
|
||||
return
|
||||
connection = connections[options.get('database')]
|
||||
statements = sql_destroy_indexes(app_config.models_module, self.style, connection)
|
||||
return '\n'.join(statements)
|
||||
|
|
|
@ -19,5 +19,9 @@ class Command(AppCommand):
|
|||
|
||||
output_transaction = True
|
||||
|
||||
def handle_app(self, app, **options):
|
||||
return '\n'.join(sql_indexes(app, self.style, connections[options.get('database')]))
|
||||
def handle_app_config(self, app_config, **options):
|
||||
if app_config.models_module is None:
|
||||
return
|
||||
connection = connections[options.get('database')]
|
||||
statements = sql_indexes(app_config.models_module, self.style, connection)
|
||||
return '\n'.join(statements)
|
||||
|
|
|
@ -19,6 +19,10 @@ class Command(AppCommand):
|
|||
|
||||
output_transaction = True
|
||||
|
||||
def handle_app(self, app, **options):
|
||||
def handle_app_config(self, app_config, **options):
|
||||
if app_config.models_module is None:
|
||||
return
|
||||
connection = connections[options.get('database')]
|
||||
return '\n'.join(connection.ops.sequence_reset_sql(self.style, apps.get_models(app, include_auto_created=True)))
|
||||
models = apps.get_models(app_config.models_module, include_auto_created=True)
|
||||
statements = connection.ops.sequence_reset_sql(self.style, models)
|
||||
return '\n'.join(statements)
|
||||
|
|
|
@ -6,5 +6,5 @@ class Command(AppCommand):
|
|||
requires_model_validation = False
|
||||
args = '[appname ...]'
|
||||
|
||||
def handle_app(self, app, **options):
|
||||
print('EXECUTE:AppCommand app=%s, options=%s' % (app, sorted(options.items())))
|
||||
def handle_app_config(self, app_config, **options):
|
||||
print('EXECUTE:AppCommand name=%s, options=%s' % (app_config.name, sorted(options.items())))
|
||||
|
|
|
@ -1416,27 +1416,24 @@ class CommandTypes(AdminScriptTestCase):
|
|||
args = ['app_command', 'auth']
|
||||
out, err = self.run_manage(args)
|
||||
self.assertNoOutput(err)
|
||||
self.assertOutput(out, "EXECUTE:AppCommand app=<module 'django.contrib.auth.models'")
|
||||
self.assertOutput(out, "module 'django.contrib.auth.models' from")
|
||||
self.assertOutput(out, str_prefix("'>, options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
|
||||
self.assertOutput(out, "EXECUTE:AppCommand name=django.contrib.auth, options=")
|
||||
self.assertOutput(out, str_prefix(", options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
|
||||
|
||||
def test_app_command_no_apps(self):
|
||||
"User AppCommands raise an error when no app name is provided"
|
||||
args = ['app_command']
|
||||
out, err = self.run_manage(args)
|
||||
self.assertOutput(err, 'Error: Enter at least one appname.')
|
||||
self.assertOutput(err, 'Error: Enter at least one application label.')
|
||||
|
||||
def test_app_command_multiple_apps(self):
|
||||
"User AppCommands raise an error when multiple app names are provided"
|
||||
args = ['app_command', 'auth', 'contenttypes']
|
||||
out, err = self.run_manage(args)
|
||||
self.assertNoOutput(err)
|
||||
self.assertOutput(out, "EXECUTE:AppCommand app=<module 'django.contrib.auth.models'")
|
||||
self.assertOutput(out, "module 'django.contrib.auth.models' from")
|
||||
self.assertOutput(out, str_prefix("'>, options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
|
||||
self.assertOutput(out, "EXECUTE:AppCommand app=<module 'django.contrib.contenttypes.models'")
|
||||
self.assertOutput(out, "module 'django.contrib.contenttypes.models' from")
|
||||
self.assertOutput(out, str_prefix("'>, options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
|
||||
self.assertOutput(out, "EXECUTE:AppCommand name=django.contrib.auth, options=")
|
||||
self.assertOutput(out, str_prefix(", options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
|
||||
self.assertOutput(out, "EXECUTE:AppCommand name=django.contrib.contenttypes, options=")
|
||||
self.assertOutput(out, str_prefix(", options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
|
||||
|
||||
def test_app_command_invalid_appname(self):
|
||||
"User AppCommands can execute when a single app name is provided"
|
||||
|
|
Loading…
Reference in New Issue