Modify ↓
#11239 closed defect (invalid)
no such table: budgeting
| Reported by: | Owned by: | Franz | |
|---|---|---|---|
| Priority: | normal | Component: | BudgetingPlugin |
| Severity: | normal | Keywords: | |
| Cc: | Trac Release: | 1.0 |
Description
After installation of the plugin (from trunk) any attempt to add budgeting data results in no such table: budgeting.
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/Trac-1.0.1-py2.7.egg/trac/web/main.py", line 497, in _dispatch_request
dispatcher.dispatch(req)
File "/Library/Python/2.7/site-packages/Trac-1.0.1-py2.7.egg/trac/web/main.py", line 224, in dispatch
self._post_process_request(req, *resp)
File "/Library/Python/2.7/site-packages/Trac-1.0.1-py2.7.egg/trac/web/main.py", line 338, in _post_process_request
resp = f.post_process_request(req, *resp)
File "/Library/Python/2.7/site-packages/Budgeting_Plugin-0.7.0-py2.7.egg/ticketbudgeting/ticketbudgeting.py", line 413, in post_process_request
self._save_budget(tkt)
File "/Library/Python/2.7/site-packages/Budgeting_Plugin-0.7.0-py2.7.egg/ticketbudgeting/ticketbudgeting.py", line 523, in _save_budget
budget.do_action(self.env, tkt.id)
File "/Library/Python/2.7/site-packages/Budgeting_Plugin-0.7.0-py2.7.egg/ticketbudgeting/ticketbudgeting.py", line 125, in do_action
env.db_transaction(sql, setVals)
File "/Library/Python/2.7/site-packages/Trac-1.0.1-py2.7.egg/trac/db/api.py", line 122, in execute
return db.execute(query, params)
File "/Library/Python/2.7/site-packages/Trac-1.0.1-py2.7.egg/trac/db/util.py", line 121, in execute
cursor.execute(query, params)
File "/Library/Python/2.7/site-packages/Trac-1.0.1-py2.7.egg/trac/db/util.py", line 65, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "/Library/Python/2.7/site-packages/Trac-1.0.1-py2.7.egg/trac/db/sqlite_backend.py", line 78, in execute
result = PyFormatCursor.execute(self, *args)
File "/Library/Python/2.7/site-packages/Trac-1.0.1-py2.7.egg/trac/db/sqlite_backend.py", line 56, in execute
args or [])
File "/Library/Python/2.7/site-packages/Trac-1.0.1-py2.7.egg/trac/db/sqlite_backend.py", line 48, in _rollback_on_error
return function(self, *args, **kwargs)
OperationalError: no such table: budgeting
Unlike other plugins the BudgetingPlugin did not require an update of the database up restarting Trac.
Attachments (0)
Change History (4)
comment:1 Changed 12 years ago by
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
comment:3 Changed 11 years ago by
With [14084] there should no need to adjust option version in configuration file anymore.
comment:4 Changed 11 years ago by
I apologize for the unsolicited advice, but I noticed a few things:
- Preparing SQL statements using string interpolation will lead to cross-db compatibility issues: trac:wiki:TracDev/DatabaseApi#RulesforDBAPIUsage
- SQL is logged when
[trac]debug_sqlistrue, so logging the SQL is redundant.
Note: See
TracTickets for help on using
tickets.



It turns out that the plugin does not initialize the database if there is a setting
version=1in the config file, i.e.:If you copy the settings from a different environment, the database will not be setup properly.