示例#1
0
    def handle_noargs(self, **options):
        orig_load_initial_data = options.get('load_initial_data')
        options['load_initial_data'] = False
        super(Command, self).handle_noargs(**options)
        
        
        db = options.get('database')
        connection= connections[db]
        
        # Create customs views for geojson_rest
        if 'geojson_rest' in settings.INSTALLED_APPS:
            app = models.get_app('geojson_rest')
            app_models = models.get_models(app, include_auto_created=True)
            tables = connection.introspection.table_names()
            converter = connection.introspection.table_name_converter
            
            custom_sql = sql_custom(models.get_app('geojson_rest'), no_style, connection)
            
            #self.stdout.write(custom_sql)
            if custom_sql:
                cursor = connection.cursor()
                try:
                    for sql in custom_sql:
                        cursor.execute(sql)
                except Exception as e:
                    self.stdout.write(sql)
                    self.stderr.write("Failed to install custom SQL for geojson_rest: %s\n" % e)
                    transaction.rollback_unless_managed(using=db)
                else:
                    transaction.commit_unless_managed(using=db)            

        # Load initial_data fixtures (unless that has been disabled)
        if orig_load_initial_data:
            call_command('loaddata', 'initial_data', verbosity=verbosity,
                         database=db, skip_validation=True)            
    def handle_app(self, app, **options):
        db = options.get('database')
        verbosity = int(options.get('verbosity'))
        conn = connections[db]
        cursor = conn.cursor()
        custom_sql = sql_custom(app, no_style(), conn)
        for sql in custom_sql:
            if verbosity >= 1:
                print "executing SQL: %s" % sql
            cursor.execute(sql)

#-----------------------------------------------------------------------------------------------------------------------
示例#3
0
文件: ddclib.py 项目: olivergs/ddc
 def get_sql(self,appname):
     """
     Return all SQL statements for given application
     """
     from django.core.management.sql import sql_delete,sql_create,sql_custom,sql_indexes
     from django.db import connections, DEFAULT_DB_ALIAS
     app=self.get_app(appname)
     db=connections[DEFAULT_DB_ALIAS]
     # Tables creation statements
     create='\n'.join(sql_create(app, self.style, db))
     # Custom SQL statements
     custom='\n'.join(sql_custom(app, self.style, db))
     # Index creation statements
     indexes='\n'.join(sql_indexes(app, self.style, db))
     # Delete statements
     delete='\n'.join(sql_delete(app, self.style, db))
     return (create,custom,indexes,delete)
示例#4
0
 def handle_app(self, app, **options):
     return u'\n'.join(sql_custom(app, self.style, connections[options.get('database')])).encode('utf-8')
示例#5
0
 def handle_app(self, app, **options):
     return u'\n'.join(
         sql_custom(app, self.style, connections[options.get(
             'database', DEFAULT_DB_ALIAS)])).encode('utf-8')
示例#6
0
 def handle_app_config(self, app_config, **options):
     if app_config.models_module is None:
         return
     connection = connections[options['database']]
     statements = sql_custom(app_config, self.style, connection)
     return '\n'.join(statements)
示例#7
0
 def handle_app(self, app, **options):
     from django.core.management.sql import sql_custom
     return '\n'.join(sql_custom(app)).encode('utf-8')
示例#8
0
 def handle_app(self, app, **options):
     from django.core.management.sql import sql_custom
     return '\n'.join(sql_custom(app))
示例#9
0
 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)
示例#10
0
 def handle_app(self, app, **options):
     return '\n'.join(
         sql_custom(app, self.style, connections[options.get('database')]))
示例#11
0
 def handle_app(self, app, **options):
     from django.core.management.sql import sql_custom
     return u'\n'.join(sql_custom(app, self.style)).encode('utf-8')
示例#12
0
 def handle_app_config(self, app_config, **options):
     if app_config.models_module is None:
         return
     connection = connections[options['database']]
     statements = sql_custom(app_config, self.style, connection)
     return '\n'.join(statements)