Has anyone found a solution to this ?
I just tried deploying on Heroku today and had the exact same problem.
Heroku logs :
2014-08-04T19:12:36.276606+00:00 app[web.1]: File "/app/gluon/dal.py",
line 4560, in exists
2014-08-04T19:12:36.276608+00:00 app[web.1]: if db.executesql(query):
2014-08-04T19:12:36.276612+00:00 app[web.1]: File "/app/gluon/dal.py",
line 1969, in execute
2014-08-04T19:12:36.276574+00:00 app[web.1]: ERROR:web2py.dal:Could not
retrieve applications/jestocke/databases/
d3136d7e8c7d9a81c4da148ca6f4d239_web2py_session_jestocke.table
2014-08-04T19:12:36.276616+00:00 app[web.1]: ProgrammingError: relation
"web2py_filesystem" does not exist
2014-08-04T19:12:36.276613+00:00 app[web.1]: return self.log_execute(*a,
**b)
2014-08-04T19:12:36.276619+00:00 app[web.1]: ^
2014-08-04T19:12:36.276579+00:00 app[web.1]: Traceback (most recent call
last):
2014-08-04T19:12:36.276614+00:00 app[web.1]: File "/app/gluon/dal.py",
line 1963, in log_execute
2014-08-04T19:12:36.276615+00:00 app[web.1]: ret = self.cursor.execute(
command, *a[1:], **b)
2014-08-04T19:12:36.276609+00:00 app[web.1]: File "/app/gluon/dal.py",
line 8433, in executesql
2014-08-04T19:12:36.276618+00:00 app[web.1]: LINE 1: SELECT path FROM
web2py_filesystem WHERE path='applications/...
2014-08-04T19:12:36.276610+00:00 app[web.1]: adapter.execute(query)
On Thursday, June 19, 2014 5:04:36 AM UTC+2, Zakariya Dehlawi wrote:
>
> I'm having the same issue. I only have one DB associated with my Heroku
> account, and it's properly being set in get_db(), as it shows up in the
> stack trace. Heroku says that the DB has no tables in it.
>
> I was curious to see if perhaps there were leftover .table files in the
> filesystem when I was using sqlite. However, I looked through and did not
> find any, nor was there a database folder.
>
> Unfortunately with the free tier of the Postgresql addon I haven't figured
> out how to see the Postgresql error logs. The command you're supposed to
> use, "heroku logs -p postgres", always comes back empty for me.
>
> This is basically a critical show stopper for me, and I have no idea how
> to work around it.
>
> Thank you,
> Zak
>
> On Thursday, March 13, 2014 3:10:49 PM UTC-7, Massimo Di Pierro wrote:
>>
>> web2py stores metadata about DB tables which have been created. This is
>> necessary for migrations. Normally this metadata is store in *.table files.
>> Heroku has a strange filesystem that gets wiped up at random times. For
>> this reason the *.table files are not in the "normal filesystem". Web2py
>> creates a filesystem in database in a table called "web2py_filesystem" and
>> stores the *.table files in there.
>>
>> One possible cause of problems is that heroku can have more than one
>> database. When you connect with web2py you need to specify which one. For
>> example:
>>
>> db = get_db('HEROKU_POSTGRESQL_YELLOW_URL').
>>
>> If you do not specify web2py may pick up the wrong one.
>>
>> Massimo
>>
>> On Thursday, 13 March 2014 10:40:59 UTC-5, Chris DeGroot wrote:
>>>
>>> I am looking again at the Heroku logs, specifically the line
>>>
>>> ERROR:web2py.dal:Could not retrieve applications/CaeSuite/databases/
>>> 9e6a7c1bb77d791a89631de258057aed_web2py_session_CaeSuite.table
>>>
>>> Why is it looking for a file in */databases?
>>>
>>> Chris
>>>
>>> On Thursday, March 13, 2014 10:14:32 AM UTC-4, Massimo Di Pierro wrote:
>>>>
>>>> Is this is a problem that worked before and then stopped working? Have
>>>> you changed anything on the database side? Do you have data that you need
>>>> to recovered.
>>>>
>>>> If at all an option, try delete the database and make a new one.
>>>>
>>>> Somehow there is a problem with the web2py_filesystem table where
>>>> web2py stores metadata on platforms that lack a persistent filesystem.
>>>> This
>>>> an be recovered but it is complicated to explain without direct access to
>>>> the system. It really depends on how it got there and what is in there.
>>>>
>>>> Massimo
>>>>
>>>>
>>>> On Wednesday, 12 March 2014 17:53:08 UTC-5, Chris DeGroot wrote:
>>>>>
>>>>> Hello;
>>>>>
>>>>> I have tried everything I could think of to solve this problem, but I
>>>>> just can't find a solution. I am trying to deploy my application to
>>>>> Heroku, following the instructions in the web2py manual. The welcome app
>>>>> works fine, so I think generally I have deployed the app properly. The
>>>>> application works on my local machine. The error I am getting looks like
>>>>> this:
>>>>>
>>>>> Traceback (most recent call last):
>>>>> File "/app/web2py/gluon/restricted.py", line 217, in restricted
>>>>> exec ccode in environment
>>>>> File "/app/web2py/applications/CaeSuite/models/db.py"
>>>>> <https://warm-basin-8163.herokuapp.com/admin/default/edit/CaeSuite/models/db.py>,
>>>>> line 16, in <module>
>>>>> db = get_db(name=None, pool_size=10)
>>>>> File "/app/web2py/gluon/contrib/heroku.py", line 26, in get_db
>>>>> current.session.connect(current.request, current.response, db=db)
>>>>> File "/app/web2py/gluon/globals.py", line 869, in connect
>>>>> migrate=table_migrate,
>>>>> File "/app/web2py/gluon/dal.py", line 8223, in define_table
>>>>> table = self.lazy_define_table(tablename,*fields,**args)
>>>>> File "/app/web2py/gluon/dal.py", line 8260, in lazy_define_table
>>>>> polymodel=polymodel)
>>>>> File "/app/web2py/gluon/dal.py", line 1102, in create_table
>>>>> query), table)
>>>>> File "/app/web2py/gluon/dal.py", line 850, in log
>>>>> logfile = self.file_open(table._loggername, 'a')
>>>>> File "/app/web2py/gluon/dal.py", line 4578, in file_open
>>>>> return DatabaseStoredFile(self.db,filename,mode)
>>>>> File "/app/web2py/gluon/dal.py", line 4506, in __init__
>>>>> self.db.executesql(sql)
>>>>> File "/app/web2py/gluon/dal.py", line 8433, in executesql
>>>>> adapter.execute(query)
>>>>> File "/app/web2py/gluon/dal.py", line 1969, in execute
>>>>> return self.log_execute(*a, **b)
>>>>> File "/app/web2py/gluon/dal.py", line 1963, in log_execute
>>>>> ret = self.cursor.execute(command, *a[1:], **b)
>>>>> InternalError: current transaction is aborted, commands ignored until end
>>>>> of transaction block
>>>>>
>>>>> Variablesself.cursor.execute<built-in method execute of
>>>>> psycopg2._psycopg.cursor
>>>>> object>self<gluon.contrib.heroku.HerokuPostgresAdapter
>>>>> object>self.cursor<cursor object at 0x287a338; closed: 0>b{}a('CREATE
>>>>> TABLE IF NOT EXISTS web2py_filesystem (path VARCHAR(255), content TEXT,
>>>>> PRIMARY KEY(path));',)retundefinedcommand'CREATE TABLE IF NOT EXISTS
>>>>> web2py_filesystem (path VARCHAR(255), content TEXT, PRIMARY KEY(path));'
>>>>>
>>>>>
>>>>> I would really appreciate any help!! Thanks,
>>>>>
>>>>>
>>>>> Chris
>>>>>
>>>>>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.