Hello !

I have made a simple change to the django/db/backends/postgresql/base.py and 
added a NotSupportedError for the database-name. The result of the 
makemigrations command currently looks like this:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/home/priyansh/django/django/core/management/__init__.py", line 373, in 
execute_from_command_line
    utility.execute()
  File "/home/priyansh/django/django/core/management/__init__.py", line 367, in 
execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/priyansh/django/django/core/management/base.py", line 288, in 
run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/priyansh/django/django/core/management/base.py", line 335, in 
execute
    output = self.handle(*args, **options)
  File 
"/home/priyansh/django/django/core/management/commands/makemigrations.py", line 
92, in handle
    loader.check_consistent_history(connection)
  File "/home/priyansh/django/django/db/migrations/loader.py", line 274, in 
check_consistent_history
    applied = recorder.applied_migrations()
  File "/home/priyansh/django/django/db/migrations/recorder.py", line 61, in 
applied_migrations
    if self.has_table():
  File "/home/priyansh/django/django/db/migrations/recorder.py", line 44, in 
has_table
    return self.Migration._meta.db_table in 
self.connection.introspection.table_names(self.connection.cursor())
  File "/home/priyansh/django/django/db/backends/base/base.py", line 255, in 
cursor
    return self._cursor()
  File "/home/priyansh/django/django/db/backends/base/base.py", line 232, in 
_cursor
    self.ensure_connection()
  File "/home/priyansh/django/django/db/backends/base/base.py", line 216, in 
ensure_connection
    self.connect()
  File "/home/priyansh/django/django/db/backends/base/base.py", line 193, in 
connect
    conn_params = self.get_connection_params()
  File "/home/priyansh/django/django/db/backends/postgresql/base.py", line 155, 
in get_connection_params
    "Database names longer than 63 characters are not supported by PostgreSQL. "
django.db.utils.NotSupportedError: Database names longer than 63 characters are 
not supported by PostgreSQL. Please supply a shorter NAME value in 
settings.DATABASES.

However, there are some issues that I would like to address here.

1. Is the NotSupportedError appropriate here ?
2. Should there be a newline after "... supported by PostgreSQL." ?
3. From the info given at 
http://www.postgresql.org/docs/current/interactive/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS,
 it is possible to modify this default limit of 63 characters. However, this is 
to be done by hacking the source code and recompiling PostgreSQL. How should I 
handle the situation when this limit is modified in the PostgreSQL source-code ?

Any advice, suggestion or comment would be really helpful :)

Thanks !
Priyansh

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" 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-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/8640611c-2114-4e10-aebc-3bbe50b430a8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to