2016-10-16 4 views
-1

Привет, ребята, я получаю сообщение об ошибке, и я не уверен, что это означает, что после того, как смотрю на него лил время ...колбы рамки ошибки

здесь ошибка:

[email protected]:/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) 
+0

Является ли ваш файл базы данных SQLite 'payup.db' полностью заполненной базой данных, содержащей данные, или это просто новая пустая база данных? Ошибка «образ диска повреждена» приводит к предположению, что ваш файл базы данных SQLite может быть поврежден. Можете ли вы просто создать резервную копию/переместить ее или удалить ее, чтобы подтвердить, что она работает без предыдущего файла? – mxscho

+0

Я просто создал эту базу данных, и в ней нет ничего прямо сейчас. Я хотел создать html-страницу, которую я могу использовать для заполнения базы данных с локального сервера. –

+0

следует переместить базу данных или удалить базу данных и создать ее снова –

ответ

1

Поскольку вы используете SQLite, то сообщение об ошибке sqlalchemy.exc.DatabaseError: (DatabaseError) database disk image is malformed 'PRAGMA table_info("users")'() приводит к предположению, что есть что-то не так с файлом базы данных называется payup.db.

Перемещение или удаление возможно поврежденного файла базы данных SQLite должно помочь вам запустить скрипт без ошибок. После успешного выполнения (и запуска сервера) новый SQLite-файл базы данных должен быть автоматически создан SQLAlchemy.

Смежные вопросы