title: Autocommit Migration from Django 1.7 to 1.8
body: <p>I was migrating from Django 1.7 to 1.8 via following steps</p>
  
  <ol>
  <li>Active virtualenv</li>
  <li>Uninstall Django 1.7</li>
  <li>Install Django 1.8</li>
  <li>python manage.py runserver</li>
  </ol>
  
  <p>On execution of step 4 for I am getting the following error.</p>
  
  <pre><code>Unhandled exception in thread started by &lt;function wrapper at 0x7f4e473a8230&gt;
  Traceback (most recent call last):
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 223, in wrapper
      fn(*args, **kwargs)
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 112, in inner_run
      self.check_migrations()
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 164, in check_migrations
      executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 19, in __init__
      self.loader = MigrationLoader(self.connection)
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 47, in __init__
      self.build_graph()
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 180, in build_graph
      self.applied_migrations = recorder.applied_migrations()
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 59, in applied_migrations
      self.ensure_schema()
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 49, in ensure_schema
      if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 162, in cursor
      cursor = self.make_debug_cursor(self._cursor())
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 135, in _cursor
      self.ensure_connection()
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 130, in ensure_connection
      self.connect()
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/utils.py", line 97, in __exit__
      six.reraise(dj_exc_type, dj_exc_value, traceback)
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 130, in ensure_connection
      self.connect()
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 119, in connect
      self.connection = self.get_new_connection(conn_params)
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 172, in get_new_connection
      connection = Database.connect(**conn_params)
    File "/home/lenovo/Envs/boilerplate/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect
      conn = _connect(dsn, connection_factory=connection_factory, async=async)
  django.db.utils.OperationalError: invalid connection option "autocommit"
  </code></pre>
  
  <p>Error seems to be from psycopg2 module and related to autocommit. In the <strong>feature removed</strong> section of 1.8 documentation I found the following line.</p>
  
  <pre><code>the decorators and context managers autocommit, commit_on_success, and commit_manually, defined in django.db.transaction
  </code></pre>
  
  <p>I couldn't relate this to the error I got. Can somebody throw light into this?</p>
  
  <h2>Update:</h2>
  
  <p>I found out why. Below is my DB connection config. In that there is autocommit=True. On commenting that line, the issue got resolved. But still I want to know why we cannot give autocommit=True option. </p>
  
  <pre><code>DATABASES = {
      'default': {
          'ENGINE': 'django.db.backends.postgresql_psycopg2',
          'HOST': 'localhost',
          'PORT': '5432',
          'NAME': 'bp_django_auth',
          'USER': 'postgres',
          'PASSWORD': 'abcd1234',
          'OPTIONS': {
              "autocommit": True,
          },
      }
  }
  </code></pre>