2016-10-16 2 views
-1

こんにちはみんなは、私はエラーを取得していますし、私はそれはlilのしばらくの間、それを見た後、何を意味するのかわからない...ここフラスコフレームワークのエラー

は誤りです:

[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によって自動的に作成されているはずです。

関連する問題