Did you look at all into: https://github.com/web2py/web2py/blob/master/scripts/setup-web2py-heroku.sh https://github.com/web2py/web2py/blob/master/gluon/contrib/heroku.py
You must use db = get_db() not db=DAL() on heroku. On Wednesday, 26 December 2012 07:05:55 UTC-6, Alec Taylor wrote: > > Been using Red Hat OpenShift for 6-months now, but have been annoyed > with their lack of DNS. A or CNAMEs simply aren't the same. > > So today I thought to try with Heroku. > > Here's a step-by-step setup guide: > > 1. Follow these steps: https://devcenter.heroku.com/articles/quickstart > 2. Grab the version of web2py you want to use (I used trunk off of > github), cd into this directory > 3. echo web: python anyserver.py -s gunicorn -i 0.0.0.0 -p $PORT > > Procfile > 4. In this directory create a 'requirements.txt' file for pip, with > these contents: > web2py > gunicorn > psycopg2 # PostgreSQL > 5. Modify the db.py for your app(s) to: > if not request.env.web2py_runtime_gae: > ## if NOT running on Google App Engine use SQLite or other DB > db = DAL('sqlite://storage.sqlite',pool_size=1,check_reserved=['all']) > try: db = DAL(os.environ.get('DATABASE_URL')) > except: db = DAL('sqlite://storage.sqlite') > 6. git init && git add . && git commit -am "init" > 7. heroku create > Take not of your URL here > 8. git push heroku master > > For further information see: > https://devcenter.heroku.com/articles/python > https://devcenter.heroku.com/articles/procfile > http://blog.doersguild.com/post/35049380409/running-web2py-on-heroku # > Where I got most of this from :P > > My thoughts thus far: > - Good to see a newer version of python (2.7.2 vs OpenShifts': 2.6) > - Has a default AES256 bit protected DigiCert verified which is nice > to see; and stops me from doing any hacky workarounds to get admin > working on HTTP (like required with OpenShift) > - Don't need to enter my password everytime I push my changes (not > sure if I like this!) > - It uses an old version of pip (1.1) > > Problems: > Unable to get a database connection. The doersguild blog guide which I > followed (see link above) didn't work, because 'DATABASE_URL' isn't in > my environ. > > My environ contains: > {'LANG': 'en_US.UTF-8', 'LIBRARY_PATH': '/app/.heroku/vendor/lib', > 'SHLVL': '1', 'PYTHONPATH': '/app/', 'SERVER_SOFTWARE': > 'gunicorn/0.17.0', 'PYTHONHOME': '/app/.heroku/venv/', 'PORT': '[not > saying publicly]', 'PWD': '/app', 'PYTHONHASHSEED': '[not saying > publicly]', 'HOME': '/app', 'PATH': > '/app/.heroku/venv/bin:/app/.heroku/venv/bin:/bin:/usr/local/bin:/usr/bin', > > 'PYTHONUNBUFFERED': 'true', 'PS1': > '\\[\\033[01;34m\\]\\w\\[\\033[00m\\] \\[\\033[01;32m\\]$ > \\[\\033[00m\\]', 'LD_LIBRARY_PATH': '/app/.heroku/vendor/lib', '_': > '/app/.heroku/venv/bin/python'} > > Hope you enjoy my guide and can help me edit it to make it work > properly; i.e.: with DB connection. > > All the best, > > Alec Taylor > --

