5

フラスコとフラスコ sqlalchemy を使用して Web アプリケーションを作成しようとしています。次のコードがあります。

    from flask.ext.sqlalchemy import  SQLAlchemy
    from flask import Flask

    app= Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI']=            'mysql+mysqldb://root:presario@127.0.0.1/testdb'
    db = SQLAlchemy(app)

コマンド ラインから db.create_all() を実行すると、不明なデータベース 'testdb' エラーが発生します。ubuntu で作業していますが、上記のコードは Windows マシンで動作します。

ポート番号を追加して、Python コネクタを削除しようとしましたが、何も機能しません。以下はスタックトレースです

 File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
     return Connection(*args, **kwargs)
 File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__
     super(Connection, self).__init__(*args, **kwargs2)
 sqlalchemy.exc.OperationalError: (OperationalError) (1049, "Unknown database 'testdb'") None None
4

2 に答える 2

15

データベース「testdb」が存在しないことをお勧めします。

SQLAlchemy は実際にはデータベースを作成しません。既存のデータベースに接続する必要があります。次に、すべてのテーブルを作成します。

ジョー

于 2013-09-04T08:17:37.723 に答える
5

次のように DB を作成できます。

url = 'mysql://%s:%s@%s' % (USER, PASSWORD, HOST)
engine = sqlalchemy.create_engine(url)  # connect to server

create_str = "CREATE DATABASE IF NOT EXISTS %s ;" % (DATABASE)
engine.execute(create_str)
engine.execute("USE location;")
db.create_all()
db.session.commit()
于 2016-12-03T07:47:27.260 に答える