Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Problems I typically have include:</p> <ol> <li>Misconfigured productions settings, whether in my production localsettings.py, wsgi/cgi, or apache site files in /etc/sites-available</li> <li>Database differences. I use <a href="http://south.aeracode.org/" rel="nofollow noreferrer">South</a> for migrations and have run into some subtle issues when performing my migration on PostgreSQL when it worked smoothly in sqlite.</li> <li>Static file hosting since I cheat and use the Django server in development</li> <li>Permissions, both on the file system and within the database</li> <li>Rare, but possible, network issues preventing me from getting my dependencies, whether on PyPi or some 3rd party site</li> </ol> <p>Ways that I have mitigated these issues:</p> <ul> <li>Use the same database in production and development (in your case, MySQL everywhere)</li> <li>I've found it is useful to have a "test" environment which mimics production in every way possible (it can be on lower end hardware, or even the same machine). This way, if there are any issues in this "production-like" enivornment, I can solve them without taking my production server offline.</li> <li>Script everything for repeatable deployments. I use <a href="http://www.nongnu.org/fab/" rel="nofollow noreferrer">fabric</a>, but zc.buildout or Paver would also work. These tools help reduce typos while deploying and reduce the time to deploy my app.</li> <li>Use version control (mercurial, git, subversion) and a schema migration tool (like South), so if something does go wrong when you deploy to production, you have the possibility of backing out the changes and allowing production to run on the old code with the old database schema.</li> <li>I haven't set up an "<a href="http://blog.jazkarta.com/2009/09/01/avoiding-buildout-failure-when-pypi-is-down-with-collective-eggproxy/" rel="nofollow noreferrer">egg proxy</a>" yet, but I am considering it, to avoid issues when downloading dependencies.</li> <li>I've found <a href="http://pypi.python.org/pypi/pip" rel="nofollow noreferrer">pip's</a> freezing dependencies to be useful, in case a new, incompatible change to a library occurred since I downloaded it initially</li> <li>Use a web testing framework like Windmill or Selenium to test my application in my "test" environment, so that I can get a lot of test coverage of my system very quickly.</li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload