Hey Carlos,

I believe the trailing quote truncation issue might be solved in the yet to 
be released
1.11.8[0][1] version.

Could you confirm whether or not it's the case? You'll have to regenerate 
your migration.

Best,
Simon

[0] 
https://github.com/django/django/commit/a35ab95ed4eec5c62fa19bdc69ecfe0eff3e1fca
[1] https://code.djangoproject.com/ticket/28792

Le lundi 27 novembre 2017 23:24:59 UTC-5, Carlos Leite a écrit :
>
> ooops 
>
>
> in the migration 0007 the index name seems badly formed 
>
> ```python 
>    ...
>     migrations.AddIndex(
>     model_name='publisher',
>     index=models.Index(fields=['name'], 
> name='"big_name-w_name_cd0539_idx'),   # <<<<<<<  there is a " in plus. and 
> its never closed. 
> ),
> ```
>
> On Tuesday, November 28, 2017 at 2:01:56 AM UTC-2, Carlos Leite wrote:
>>
>> I was making some introspections on meta attributes from a Model class
>> jsut to check what changes when we set some attributes on Meta class and 
>> etc...
>>
>>
>> TO check the Meta.db_name
>> I read the docs and saw that I could use quoted strings as told ..
>>
>>
>> "
>> ... o prevent such transformations, use a quoted name as the value for 
>> db_table:
>>
>> > db_table = '"name_left_in_lowercase"' 
>>
>>  Such quoted names can also be used with Django’s other supported 
>> database backends; except for Oracle, however, the quotes have no effect. 
>> See the Oracle notes 
>> <https://docs.djangoproject.com/en/1.8/ref/databases/#oracle-notes> for 
>> more details.
>> "
>> at https://docs.djangoproject.com/en/1.8/ref/models/options/#db-table
>>
>>
>> Well, when I tried to *migrate* I got the error, during the index 
>> creation, described below.
>> Is it a bug ? or I miss soething ?
>> I just tried to set a custom name for a table, with quotes and hyphens 8P
>>
>>
>> '"big_name-with-hyphen-left_in_lowercase"'
>>
>> the error hapends when PostgreSQL tries to create an index and Django 
>> named with part of the tables name. 
>>
>>
>> ### The Model Class
>>
>>
>> class Publisher(models.Model):
>> """
>> Book's Author - author is a Book's model supplement.
>> """
>> name = models.CharField(verbose_name='publisher name', max_length=50, 
>> null=False)
>>
>>
>> class Meta:
>> db_table = '"big_name-with-hyphen-left_in_lowercase"'
>> get_latest_by = "name"
>> ordering = ['name', ]
>> verbose_name = 'Publiser'
>> verbose_name_plural = 'Publishers'
>> indexes = [
>> models.Index(fields=['name', ]),
>> ]
>>
>>
>>
>>
>> ### The Migration 0007
>>
>>
>> # -*- coding: utf-8 -*-
>> # Generated by Django 1.11 on 2017-11-28 03:15
>> from __future__ import unicode_literals
>>
>>
>> from django.db import migrations, models
>>
>>
>>
>>
>> class Migration(migrations.Migration):
>>
>>
>> dependencies = [
>> ('testapp', '0006_auto_20171127_1927'),
>> ]
>>
>>
>> operations = [
>> migrations.RemoveIndex(
>> model_name='publisher',
>> name='testapp_pub_name_88e073_idx',
>> ),
>> migrations.AddIndex(
>> model_name='publisher',
>> index=models.Index(fields=['name'], name='"big_name-w_name_cd0539_idx'),
>> ),
>> migrations.AlterModelTable(
>> name='publisher',
>> table='"big_name-with-hyphen-left_in_lowercase"',
>> ),
>> ]
>>
>>
>>
>>
>> ### traceback
>>
>>
>> $python manage.py makemigrations
>> System check identified some issues:
>>
>>
>> Migrations for 'testapp':
>> testproject/testapp/migrations/0007_auto_20171128_0315.py
>> - Remove index testapp_pub_name_88e073_idx from publisher
>> - Create index "big_name-w_name_cd0539_idx on field(s) name of model 
>> publisher
>> - Rename table for publisher to "big_name-with-hyphen-left_in_lowercase"
>> (dj_datadictionary) 
>> 20171125.Sat01:15:52cadu>/Volumes/p10G/prj/dj_datadictionary_testproject/testproject>
>>
>>
>>
>>
>> $python manage.py migrate
>> System check identified some issues:
>>
>>
>> Operations to perform:
>> Apply all migrations: admin, auth, contenttypes, sessions, testapp
>> Running migrations:
>> Applying testapp.0007_auto_20171128_0315...Traceback (most recent call 
>> last):
>> File "manage.py", line 22, in <module>
>> execute_from_command_line(sys.argv)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/core/management/__init__.py",
>>  
>> line 363, in execute_from_command_line
>> utility.execute()
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/core/management/__init__.py",
>>  
>> line 355, in execute
>> self.fetch_command(subcommand).run_from_argv(self.argv)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/core/management/base.py",
>>  
>> line 283, in run_from_argv
>> self.execute(*args, **cmd_options)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/core/management/base.py",
>>  
>> line 330, in execute
>> output = self.handle(*args, **options)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/core/management/commands/migrate.py",
>>  
>> line 204, in handle
>> fake_initial=fake_initial,
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/migrations/executor.py",
>>  
>> line 115, in migrate
>> state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, 
>> fake_initial=fake_initial)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/migrations/executor.py",
>>  
>> line 145, in _migrate_all_forwards
>> state = self.apply_migration(state, migration, fake=fake, 
>> fake_initial=fake_initial)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/migrations/executor.py",
>>  
>> line 244, in apply_migration
>> state = migration.apply(state, schema_editor)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/migrations/migration.py",
>>  
>> line 129, in apply
>> operation.database_forwards(self.app_label, schema_editor, old_state, 
>> project_state)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/migrations/operations/models.py",
>>  
>> line 785, in database_forwards
>> schema_editor.add_index(model, self.index)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/backends/base/schema.py",
>>  
>> line 330, in add_index
>> self.execute(index.create_sql(model, self))
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/backends/base/schema.py",
>>  
>> line 119, in execute
>> cursor.execute(sql, params)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/backends/utils.py",
>>  
>> line 80, in execute
>> return super(CursorDebugWrapper, self).execute(sql, params)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/backends/utils.py",
>>  
>> line 65, in execute
>> return self.cursor.execute(sql, params)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/utils.py",
>>  
>> line 94, in __exit__
>> six.reraise(dj_exc_type, dj_exc_value, traceback)
>> File 
>> "/Users/cadu/Envs/dj_datadictionary/lib/python2.7/site-packages/django/db/backends/utils.py",
>>  
>> line 65, in execute
>> return self.cursor.execute(sql, params)
>> django.db.utils.ProgrammingError: zero-length delimited identifier at or 
>> near """"
>> LINE 1: CREATE INDEX ""big_name-w_name_cd0539_idx" ON "testapp_publi...
>> ^
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/059d8feb-45dd-4f30-aa7f-cfc3a71659d5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to