user1460041
user1460041

Reputation: 33

Can't run migrations when setting up a project with cookiecutter-django

I have been trying to set up a new django project locally with cookiecutter-django. I have followed the docs but I keep getting into errors when trying to run python manage.py migrate.

Error Traceback.

Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/ubuntu/lasbrisas_project/venv/lib/python3.4/site-  packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/home/ubuntu/lasbrisas_project/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 302, in execute
settings.INSTALLED_APPS
File "/home/ubuntu/lasbrisas_project/venv/lib/python3.4/site-packages/django/conf/__init__.py", line 55, in __getattr__
self._setup(name)
File "/home/ubuntu/lasbrisas_project/venv/lib/python3.4/site-packages/django/conf/__init__.py", line 43, in _setup
self._wrapped = Settings(settings_module)
File "/home/ubuntu/lasbrisas_project/venv/lib/python3.4/site-packages/django/conf/__init__.py", line 99, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/home/ubuntu/lasbrisas_project/venv/lib/python3.4/importlib/__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1471, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "/home/ubuntu/lasbrisas_project/django_condominios/config/settings/local.py", line 11, in <module>
from .common import *  # noqa
File "/home/ubuntu/lasbrisas_project/django_condominios/config/settings/common.py", line 102, in <module>
'default': env.db('DATABASE_URL', default='postgres:///django_condominios'),
File "/home/ubuntu/lasbrisas_project/venv/lib/python3.4/site-packages/environ/environ.py", line 180, in db_url
return self.db_url_config(self.get_value(var, default=default), engine=engine)
File "/home/ubuntu/lasbrisas_project/venv/lib/python3.4/site-packages/environ/environ.py", line 371, in db_url_config
'PORT': _cast_int(url.port),
File "/usr/lib/python3.4/urllib/parse.py", line 156, in port
port = int(port, 10)
ValueError: invalid literal for int() with base 10: 'jd#uhUhey385'

I don't really know what I am doing wrong while setting up the project, I'd appreciate if you check the steps I took and help me find out what is missing.

Steps taken to setup the project with cookiecutter-django:

pip, virtualenv, PostrgreSQL already installed

  1. pip install cookiecutter
  2. cookiecutter https://github.com/pydanny/cookiecutter-django
  3. Answer cookiecutter questions
  4. Creating virtualenv - virtualenv -p /usr/bin/python3 venv
  5. Activiting virtualenv - source venv/bin/activate/
  6. cd intoprojectfolder
  7. Docs say sudo ./install_os_dependencies.sh install but ./install_os_dependencies.sh is not in projectroot, file found in utility/
    • cd utility
    • sudo ./install_os_dependencies.sh install
  8. pip install -r requirements/local.txt
  9. Setting up db in postgresql:
    • sudo su - postgres
    • psql
    • CREATE DATABASE myproject;
    • CREATE USER myprojectuser WITH PASSWORD 'password';
    • GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser;
    • \q
  10. Return tu project root
  11. mv env.example .env
  12. export DATABASE_URL=postgres://myprojectuser:[email protected]:5432/myproject
  13. python manage.py migrate

After that is when I get the traceback, what could be going wrong? The docs show no more information, the migration should work.

Upvotes: 3

Views: 987

Answers (1)

Cookiecutter uses the slug of the project name as the name for the development db you are to use. You are expected to create the database yourself.

from your stacktrace here is the line giving you the problem from your settings.py file:

File "/home/ubuntu/lasbrisas_project/django_condominios/config/settings/common.py", line 102, in <module>'default': env.db('DATABASE_URL',     default='postgres:///django_condominios'),

It expects to find a database named django_condominios.

You can fix this by running

createdb django_condominios

and you should be good run your migrations.

Upvotes: 2

Related Questions