| 209 | | from django.db import backend, models |
|---|
| 210 | | output = [] |
|---|
| 211 | | for model in models.get_models(app): |
|---|
| 212 | | for f in model._meta.fields: |
|---|
| 213 | | if isinstance(f, models.AutoField): |
|---|
| 214 | | output.append("%s setval('%s', (%s max(%s) %s %s));" % \ |
|---|
| 215 | | (style.SQL_KEYWORD('SELECT'), |
|---|
| 216 | | style.SQL_FIELD('%s_%s_seq' % (model._meta.db_table, f.column)), |
|---|
| 217 | | style.SQL_KEYWORD('SELECT'), |
|---|
| 218 | | style.SQL_FIELD(backend.quote_name(f.column)), |
|---|
| 219 | | style.SQL_KEYWORD('FROM'), |
|---|
| 220 | | style.SQL_TABLE(backend.quote_name(model._meta.db_table)))) |
|---|
| 221 | | break # Only one AutoField is allowed per model, so don't bother continuing. |
|---|
| 222 | | for f in model._meta.many_to_many: |
|---|
| 223 | | output.append("%s setval('%s', (%s max(%s) %s %s));" % \ |
|---|
| 224 | | (style.SQL_KEYWORD('SELECT'), |
|---|
| 225 | | style.SQL_FIELD('%s_id_seq' % f.m2m_db_table()), |
|---|
| 226 | | style.SQL_KEYWORD('SELECT'), |
|---|
| 227 | | style.SQL_FIELD(backend.quote_name('id')), |
|---|
| 228 | | style.SQL_KEYWORD('FROM'), |
|---|
| 229 | | style.SQL_TABLE(f.m2m_db_table()))) |
|---|
| 230 | | return output |
|---|
| | 209 | from django.db import model_connection_name |
|---|
| | 210 | from django.db.models import get_models |
|---|
| | 211 | connection_output = {} |
|---|
| | 212 | for model in get_models(app): |
|---|
| | 213 | connection_name = model_connection_name(model) |
|---|
| | 214 | output = connection_output.setdefault(connection_name, []) |
|---|
| | 215 | builder = model._default_manager.db.get_creation_module().builder |
|---|
| | 216 | try: |
|---|
| | 217 | output.extend(builder.get_sequence_reset(model, style)) |
|---|
| | 218 | except AttributeError: |
|---|
| | 219 | sys.stderr.write( |
|---|
| | 220 | "%s is configured to use database engine %s, which does " |
|---|
| | 221 | "not support sequence reset.\n" % |
|---|
| | 222 | (model.__name__, |
|---|
| | 223 | model._default_manager.db.connection.settings.DATABASE_ENGINE)) |
|---|
| | 224 | |
|---|
| | 225 | return _collate(connection_output) |
|---|