Ошибка каркаса колбы
Привет, ребята, я получаю сообщение об ошибке, и я не уверен, что это значит, глядя на это некоторое время...
вот ошибка:
vagrant@vagrant-ubuntu-trusty-32:/vagrant/PayUp$ python setup_database.py
Traceback (most recent call last):
File "setup_database.py", line 58, in <module>
Base.metadata.create_all(engine)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 2848, in create_all
tables=tables)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1479, in _run_visitor
conn._run_visitor(visitorcallable, element, **kwargs)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1122, in _run_visitor
**kwargs).traverse_single(element)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/visitors.py", line 122, in traverse_single
return meth(obj, **kw)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/ddl.py", line 57, in visit_metadata
if self._can_create_table(t)]
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/ddl.py", line 35, in _can_create_table
table.name, schema=table.schema)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/sqlite/base.py", line 722, in has_table
cursor = _pragma_cursor(connection.execute(statement))
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 662, in execute
params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 805, in _execute_text
statement, parameters
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 874, in _execute_context
context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1024, in _handle_dbapi_exception
exc_info
File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 196, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 867, in _execute_context
context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 324, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.DatabaseError: (DatabaseError) database disk image is malformed 'PRAGMA table_info("users")' ()
я смотрел на это, я действительно не понимал, что говорит ошибка
Вот код, который у меня есть для создания моей базы данных, которая не получала ошибку, и файл установки сервера, где мой сервер будет находиться.
from flask import Flaskfrom sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from setup_database import Base, Users, User_Auth, User_info, User_Location
# The following line is what initiates the flask app for this project
app = Flask(__name__)
engine = create_engine('sqlite:///payup.db')
Base.metadata.bind = engine
DBSession = sessionmaker(bind=engine)
session = DBSession()
@app.route('/')
def HomePage():
output = "<h1>hello</h1>"
@app.route('/users')
def UsersList(users.id):
output = "<h1>This page will list all of the current users</h1>"
@app.route('/adduser')
def CreateNewUser(users):
output = "<h1>This page will be able to create new users</h1>"
@app.route('/manageUsers')
def ManageUsers(users.id):
output = "<h1>This page will be able to manage all of the users</h1>"
@app.route('/userProfile')
def UsersProfile(all of the tables):
output = "<h1>This page will display all of the users informaiton </h1>"
if __name__ == '__main__':
app.debug = True
app.run(host = '0.0.0.0', port = 5555)
1 ответ
Поскольку вы используете SQLite, сообщение об ошибке sqlalchemy.exc.DatabaseError: (DatabaseError) database disk image is malformed 'PRAGMA table_info("users")' ()
приводит к предположению, что с файлом базы данных что-то не так payup.db
,
Перемещение или удаление возможно поврежденного файла базы данных SQLite должно помочь вам запустить скрипт без ошибок. После успешного выполнения (и запуска сервера) SQLAlchemy должен автоматически создать новый файл базы данных SQLite.