We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
UndefinedTable: relation "bookwyrm_userrelationship" does not exist error
**Describe the bug**
I went to go load up the development env today after a little while of not using it and came across this error when I ran the `docker-compose run --rm web python manage.py migrate` cmd to keep up with new migrations:

```
docker-compose run --rm web python manage.py migrate
Creating bookwyrm_web_run ... done
Operations to perform:
  Apply all migrations: admin, auth, bookwyrm, contenttypes, sessions
Running migrations:
  Applying bookwyrm.0006_auto_20200221_1702_squashed_0064_merge_20201101_1913...Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "bookwyrm_userrelationship" does not exist


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/manage.py", line 18, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 369, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/django/core/management/commands/migrate.py", line 231, in handle
    post_migrate_state = executor.migrate(
  File "/usr/local/lib/python3.9/site-packages/django/db/migrations/executor.py", line 117, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "/usr/local/lib/python3.9/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
  File "/usr/local/lib/python3.9/site-packages/django/db/migrations/executor.py", line 245, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/usr/local/lib/python3.9/site-packages/django/db/migrations/migration.py", line 124, in apply
    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
  File "/usr/local/lib/python3.9/site-packages/django/db/migrations/operations/models.py", line 822, in database_forwards
    schema_editor.add_constraint(model, self.constraint)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/schema.py", line 362, in add_constraint
    self.execute(sql)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/base/schema.py", line 142, in execute
    cursor.execute(sql, params)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 100, in execute
    return super().execute(sql, params)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 68, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "bookwyrm_userrelationship" does not exist
```

**To Reproduce**
Run the `docker-compose run --rm web python manage.py migrate` command

**Expected behavior**
Migrations should run

**Desktop (please complete the following information):**
 - OS: Mac OS
- Latest git pull

**Additional context**
I saw a commit with the msg "migrations are fucked" and I'm guessing you've experienced part of this problem before. Happy to provide any other context or try anything out here!


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `bookwyrm/settings.py`
Content:
```
1 ''' bookwyrm settings and configuration '''
2 import os
3 
4 from environs import Env
5 
6 env = Env()
7 DOMAIN = env('DOMAIN')
8 
9 PAGE_LENGTH = env('PAGE_LENGTH', 15)
10 
11 # celery
12 CELERY_BROKER = env('CELERY_BROKER')
13 CELERY_RESULT_BACKEND = env('CELERY_RESULT_BACKEND')
14 CELERY_ACCEPT_CONTENT = ['application/json']
15 CELERY_TASK_SERIALIZER = 'json'
16 CELERY_RESULT_SERIALIZER = 'json'
17 
18 # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
19 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
20 
21 # Quick-start development settings - unsuitable for production
22 # See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/
23 
24 # SECURITY WARNING: keep the secret key used in production secret!
25 SECRET_KEY = env('SECRET_KEY')
26 
27 # SECURITY WARNING: don't run with debug turned on in production!
28 DEBUG = env.bool('DEBUG', True)
29 
30 ALLOWED_HOSTS = env.list('ALLOWED_HOSTS', ['*'])
31 OL_URL = env('OL_URL')
32 
33 # Application definition
34 
35 INSTALLED_APPS = [
36     'django.contrib.admin',
37     'django.contrib.auth',
38     'django.contrib.contenttypes',
39     'django.contrib.sessions',
40     'django.contrib.messages',
41     'django.contrib.staticfiles',
42     'django.contrib.humanize',
43     'bookwyrm',
44     'celery',
45 ]
46 
47 MIDDLEWARE = [
48     'django.middleware.security.SecurityMiddleware',
49     'django.contrib.sessions.middleware.SessionMiddleware',
50     'django.middleware.common.CommonMiddleware',
51     'django.middleware.csrf.CsrfViewMiddleware',
52     'django.contrib.auth.middleware.AuthenticationMiddleware',
53     'django.contrib.messages.middleware.MessageMiddleware',
54     'django.middleware.clickjacking.XFrameOptionsMiddleware',
55 ]
56 
57 ROOT_URLCONF = 'bookwyrm.urls'
58 
59 TEMPLATES = [
60     {
61         'BACKEND': 'django.template.backends.django.DjangoTemplates',
62         'DIRS': ['templates'],
63         'APP_DIRS': True,
64         'OPTIONS': {
65             'context_processors': [
66                 'django.template.context_processors.debug',
67                 'django.template.context_processors.request',
68                 'django.contrib.auth.context_processors.auth',
69                 'django.contrib.messages.context_processors.messages',
70             ],
71         },
72     },
73 ]
74 
75 
76 WSGI_APPLICATION = 'bookwyrm.wsgi.application'
77 
78 
79 # Database
80 # https://docs.djangoproject.com/en/2.0/ref/settings/#databases
81 
82 BOOKWYRM_DATABASE_BACKEND = env('BOOKWYRM_DATABASE_BACKEND', 'postgres')
83 
84 BOOKWYRM_DBS = {
85     'postgres': {
86         'ENGINE': 'django.db.backends.postgresql_psycopg2',
87         'NAME': env('POSTGRES_DB', 'fedireads'),
88         'USER': env('POSTGRES_USER', 'fedireads'),
89         'PASSWORD': env('POSTGRES_PASSWORD', 'fedireads'),
90         'HOST': env('POSTGRES_HOST', ''),
91         'PORT': 5432
92     },
93     'sqlite': {
94         'ENGINE': 'django.db.backends.sqlite3',
95         'NAME': os.path.join(BASE_DIR, 'fedireads.db')
96     }
97 }
98 
99 DATABASES = {
100     'default': BOOKWYRM_DBS[BOOKWYRM_DATABASE_BACKEND]
101 }
102 
103 
104 LOGIN_URL = '/login/'
105 AUTH_USER_MODEL = 'bookwyrm.User'
106 
107 # Password validation
108 # https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators
109 
110 AUTH_PASSWORD_VALIDATORS = [
111     {
112         'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
113     },
114     {
115         'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
116     },
117     {
118         'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
119     },
120     {
121         'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
122     },
123 ]
124 
125 
126 # Internationalization
127 # https://docs.djangoproject.com/en/2.0/topics/i18n/
128 
129 LANGUAGE_CODE = 'en-us'
130 
131 TIME_ZONE = 'UTC'
132 
133 USE_I18N = True
134 
135 USE_L10N = True
136 
137 USE_TZ = True
138 
139 
140 # Static files (CSS, JavaScript, Images)
141 # https://docs.djangoproject.com/en/2.0/howto/static-files/
142 
143 PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
144 STATIC_URL = '/static/'
145 STATIC_ROOT = os.path.join(BASE_DIR, env('STATIC_ROOT', 'static'))
146 MEDIA_URL = '/images/'
147 MEDIA_ROOT = os.path.join(BASE_DIR, env('MEDIA_ROOT', 'images'))
148
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py
--- a/bookwyrm/settings.py
+++ b/bookwyrm/settings.py
@@ -40,6 +40,7 @@
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'django.contrib.humanize',
+    'django_rename_app',
     'bookwyrm',
     'celery',
 ]

{"golden_diff": "diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py\n--- a/bookwyrm/settings.py\n+++ b/bookwyrm/settings.py\n@@ -40,6 +40,7 @@\n     'django.contrib.messages',\n     'django.contrib.staticfiles',\n     'django.contrib.humanize',\n+    'django_rename_app',\n     'bookwyrm',\n     'celery',\n ]\n", "issue": "UndefinedTable: relation \"bookwyrm_userrelationship\" does not exist error\n**Describe the bug**\r\nI went to go load up the development env today after a little while of not using it and came across this error when I ran the `docker-compose run --rm web python manage.py migrate` cmd to keep up with new migrations:\r\n\r\n```\r\ndocker-compose run --rm web python manage.py migrate\r\nCreating bookwyrm_web_run ... done\r\nOperations to perform:\r\n  Apply all migrations: admin, auth, bookwyrm, contenttypes, sessions\r\nRunning migrations:\r\n  Applying bookwyrm.0006_auto_20200221_1702_squashed_0064_merge_20201101_1913...Traceback (most recent call last):\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py\", line 86, in _execute\r\n    return self.cursor.execute(sql, params)\r\npsycopg2.errors.UndefinedTable: relation \"bookwyrm_userrelationship\" does not exist\r\n\r\n\r\nThe above exception was the direct cause of the following exception:\r\n\r\nTraceback (most recent call last):\r\n  File \"/app/manage.py\", line 18, in <module>\r\n    execute_from_command_line(sys.argv)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py\", line 401, in execute_from_command_line\r\n    utility.execute()\r\n  File \"/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py\", line 395, in execute\r\n    self.fetch_command(subcommand).run_from_argv(self.argv)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/core/management/base.py\", line 328, in run_from_argv\r\n    self.execute(*args, **cmd_options)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/core/management/base.py\", line 369, in execute\r\n    output = self.handle(*args, **options)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/core/management/base.py\", line 83, in wrapped\r\n    res = handle_func(*args, **kwargs)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/core/management/commands/migrate.py\", line 231, in handle\r\n    post_migrate_state = executor.migrate(\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/migrations/executor.py\", line 117, in migrate\r\n    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/migrations/executor.py\", line 147, in _migrate_all_forwards\r\n    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/migrations/executor.py\", line 245, in apply_migration\r\n    state = migration.apply(state, schema_editor)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/migrations/migration.py\", line 124, in apply\r\n    operation.database_forwards(self.app_label, schema_editor, old_state, project_state)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/migrations/operations/models.py\", line 822, in database_forwards\r\n    schema_editor.add_constraint(model, self.constraint)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/backends/base/schema.py\", line 362, in add_constraint\r\n    self.execute(sql)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/backends/base/schema.py\", line 142, in execute\r\n    cursor.execute(sql, params)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py\", line 100, in execute\r\n    return super().execute(sql, params)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py\", line 68, in execute\r\n    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py\", line 77, in _execute_with_wrappers\r\n    return executor(sql, params, many, context)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py\", line 86, in _execute\r\n    return self.cursor.execute(sql, params)\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/utils.py\", line 90, in __exit__\r\n    raise dj_exc_value.with_traceback(traceback) from exc_value\r\n  File \"/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py\", line 86, in _execute\r\n    return self.cursor.execute(sql, params)\r\ndjango.db.utils.ProgrammingError: relation \"bookwyrm_userrelationship\" does not exist\r\n```\r\n\r\n**To Reproduce**\r\nRun the `docker-compose run --rm web python manage.py migrate` command\r\n\r\n**Expected behavior**\r\nMigrations should run\r\n\r\n**Desktop (please complete the following information):**\r\n - OS: Mac OS\r\n- Latest git pull\r\n\r\n**Additional context**\r\nI saw a commit with the msg \"migrations are fucked\" and I'm guessing you've experienced part of this problem before. Happy to provide any other context or try anything out here!\r\n\n", "before_files": [{"content": "''' bookwyrm settings and configuration '''\nimport os\n\nfrom environs import Env\n\nenv = Env()\nDOMAIN = env('DOMAIN')\n\nPAGE_LENGTH = env('PAGE_LENGTH', 15)\n\n# celery\nCELERY_BROKER = env('CELERY_BROKER')\nCELERY_RESULT_BACKEND = env('CELERY_RESULT_BACKEND')\nCELERY_ACCEPT_CONTENT = ['application/json']\nCELERY_TASK_SERIALIZER = 'json'\nCELERY_RESULT_SERIALIZER = 'json'\n\n# Build paths inside the project like this: os.path.join(BASE_DIR, ...)\nBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))\n\n# Quick-start development settings - unsuitable for production\n# See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/\n\n# SECURITY WARNING: keep the secret key used in production secret!\nSECRET_KEY = env('SECRET_KEY')\n\n# SECURITY WARNING: don't run with debug turned on in production!\nDEBUG = env.bool('DEBUG', True)\n\nALLOWED_HOSTS = env.list('ALLOWED_HOSTS', ['*'])\nOL_URL = env('OL_URL')\n\n# Application definition\n\nINSTALLED_APPS = [\n    'django.contrib.admin',\n    'django.contrib.auth',\n    'django.contrib.contenttypes',\n    'django.contrib.sessions',\n    'django.contrib.messages',\n    'django.contrib.staticfiles',\n    'django.contrib.humanize',\n    'bookwyrm',\n    'celery',\n]\n\nMIDDLEWARE = [\n    'django.middleware.security.SecurityMiddleware',\n    'django.contrib.sessions.middleware.SessionMiddleware',\n    'django.middleware.common.CommonMiddleware',\n    'django.middleware.csrf.CsrfViewMiddleware',\n    'django.contrib.auth.middleware.AuthenticationMiddleware',\n    'django.contrib.messages.middleware.MessageMiddleware',\n    'django.middleware.clickjacking.XFrameOptionsMiddleware',\n]\n\nROOT_URLCONF = 'bookwyrm.urls'\n\nTEMPLATES = [\n    {\n        'BACKEND': 'django.template.backends.django.DjangoTemplates',\n        'DIRS': ['templates'],\n        'APP_DIRS': True,\n        'OPTIONS': {\n            'context_processors': [\n                'django.template.context_processors.debug',\n                'django.template.context_processors.request',\n                'django.contrib.auth.context_processors.auth',\n                'django.contrib.messages.context_processors.messages',\n            ],\n        },\n    },\n]\n\n\nWSGI_APPLICATION = 'bookwyrm.wsgi.application'\n\n\n# Database\n# https://docs.djangoproject.com/en/2.0/ref/settings/#databases\n\nBOOKWYRM_DATABASE_BACKEND = env('BOOKWYRM_DATABASE_BACKEND', 'postgres')\n\nBOOKWYRM_DBS = {\n    'postgres': {\n        'ENGINE': 'django.db.backends.postgresql_psycopg2',\n        'NAME': env('POSTGRES_DB', 'fedireads'),\n        'USER': env('POSTGRES_USER', 'fedireads'),\n        'PASSWORD': env('POSTGRES_PASSWORD', 'fedireads'),\n        'HOST': env('POSTGRES_HOST', ''),\n        'PORT': 5432\n    },\n    'sqlite': {\n        'ENGINE': 'django.db.backends.sqlite3',\n        'NAME': os.path.join(BASE_DIR, 'fedireads.db')\n    }\n}\n\nDATABASES = {\n    'default': BOOKWYRM_DBS[BOOKWYRM_DATABASE_BACKEND]\n}\n\n\nLOGIN_URL = '/login/'\nAUTH_USER_MODEL = 'bookwyrm.User'\n\n# Password validation\n# https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators\n\nAUTH_PASSWORD_VALIDATORS = [\n    {\n        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',\n    },\n    {\n        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',\n    },\n    {\n        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',\n    },\n    {\n        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',\n    },\n]\n\n\n# Internationalization\n# https://docs.djangoproject.com/en/2.0/topics/i18n/\n\nLANGUAGE_CODE = 'en-us'\n\nTIME_ZONE = 'UTC'\n\nUSE_I18N = True\n\nUSE_L10N = True\n\nUSE_TZ = True\n\n\n# Static files (CSS, JavaScript, Images)\n# https://docs.djangoproject.com/en/2.0/howto/static-files/\n\nPROJECT_DIR = os.path.dirname(os.path.abspath(__file__))\nSTATIC_URL = '/static/'\nSTATIC_ROOT = os.path.join(BASE_DIR, env('STATIC_ROOT', 'static'))\nMEDIA_URL = '/images/'\nMEDIA_ROOT = os.path.join(BASE_DIR, env('MEDIA_ROOT', 'images'))\n", "path": "bookwyrm/settings.py"}], "after_files": [{"content": "''' bookwyrm settings and configuration '''\nimport os\n\nfrom environs import Env\n\nenv = Env()\nDOMAIN = env('DOMAIN')\n\nPAGE_LENGTH = env('PAGE_LENGTH', 15)\n\n# celery\nCELERY_BROKER = env('CELERY_BROKER')\nCELERY_RESULT_BACKEND = env('CELERY_RESULT_BACKEND')\nCELERY_ACCEPT_CONTENT = ['application/json']\nCELERY_TASK_SERIALIZER = 'json'\nCELERY_RESULT_SERIALIZER = 'json'\n\n# Build paths inside the project like this: os.path.join(BASE_DIR, ...)\nBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))\n\n# Quick-start development settings - unsuitable for production\n# See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/\n\n# SECURITY WARNING: keep the secret key used in production secret!\nSECRET_KEY = env('SECRET_KEY')\n\n# SECURITY WARNING: don't run with debug turned on in production!\nDEBUG = env.bool('DEBUG', True)\n\nALLOWED_HOSTS = env.list('ALLOWED_HOSTS', ['*'])\nOL_URL = env('OL_URL')\n\n# Application definition\n\nINSTALLED_APPS = [\n    'django.contrib.admin',\n    'django.contrib.auth',\n    'django.contrib.contenttypes',\n    'django.contrib.sessions',\n    'django.contrib.messages',\n    'django.contrib.staticfiles',\n    'django.contrib.humanize',\n    'django_rename_app',\n    'bookwyrm',\n    'celery',\n]\n\nMIDDLEWARE = [\n    'django.middleware.security.SecurityMiddleware',\n    'django.contrib.sessions.middleware.SessionMiddleware',\n    'django.middleware.common.CommonMiddleware',\n    'django.middleware.csrf.CsrfViewMiddleware',\n    'django.contrib.auth.middleware.AuthenticationMiddleware',\n    'django.contrib.messages.middleware.MessageMiddleware',\n    'django.middleware.clickjacking.XFrameOptionsMiddleware',\n]\n\nROOT_URLCONF = 'bookwyrm.urls'\n\nTEMPLATES = [\n    {\n        'BACKEND': 'django.template.backends.django.DjangoTemplates',\n        'DIRS': ['templates'],\n        'APP_DIRS': True,\n        'OPTIONS': {\n            'context_processors': [\n                'django.template.context_processors.debug',\n                'django.template.context_processors.request',\n                'django.contrib.auth.context_processors.auth',\n                'django.contrib.messages.context_processors.messages',\n            ],\n        },\n    },\n]\n\n\nWSGI_APPLICATION = 'bookwyrm.wsgi.application'\n\n\n# Database\n# https://docs.djangoproject.com/en/2.0/ref/settings/#databases\n\nBOOKWYRM_DATABASE_BACKEND = env('BOOKWYRM_DATABASE_BACKEND', 'postgres')\n\nBOOKWYRM_DBS = {\n    'postgres': {\n        'ENGINE': 'django.db.backends.postgresql_psycopg2',\n        'NAME': env('POSTGRES_DB', 'fedireads'),\n        'USER': env('POSTGRES_USER', 'fedireads'),\n        'PASSWORD': env('POSTGRES_PASSWORD', 'fedireads'),\n        'HOST': env('POSTGRES_HOST', ''),\n        'PORT': 5432\n    },\n    'sqlite': {\n        'ENGINE': 'django.db.backends.sqlite3',\n        'NAME': os.path.join(BASE_DIR, 'fedireads.db')\n    }\n}\n\nDATABASES = {\n    'default': BOOKWYRM_DBS[BOOKWYRM_DATABASE_BACKEND]\n}\n\n\nLOGIN_URL = '/login/'\nAUTH_USER_MODEL = 'bookwyrm.User'\n\n# Password validation\n# https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators\n\nAUTH_PASSWORD_VALIDATORS = [\n    {\n        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',\n    },\n    {\n        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',\n    },\n    {\n        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',\n    },\n    {\n        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',\n    },\n]\n\n\n# Internationalization\n# https://docs.djangoproject.com/en/2.0/topics/i18n/\n\nLANGUAGE_CODE = 'en-us'\n\nTIME_ZONE = 'UTC'\n\nUSE_I18N = True\n\nUSE_L10N = True\n\nUSE_TZ = True\n\n\n# Static files (CSS, JavaScript, Images)\n# https://docs.djangoproject.com/en/2.0/howto/static-files/\n\nPROJECT_DIR = os.path.dirname(os.path.abspath(__file__))\nSTATIC_URL = '/static/'\nSTATIC_ROOT = os.path.join(BASE_DIR, env('STATIC_ROOT', 'static'))\nMEDIA_URL = '/images/'\nMEDIA_ROOT = os.path.join(BASE_DIR, env('MEDIA_ROOT', 'images'))\n", "path": "bookwyrm/settings.py"}]}