2013-09-04 2 views
1

Я пытаюсь создать веб-приложение с использованием колбы и колба-SQLAlchemy, у меня есть следующий кодколба ошибка SQLAlchemy неизвестная база

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

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

Когда я бегу db.create_all() из командной строки, я получаю unknown database 'testdb' error Я работаю над 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 

ответ

8

Я хотел бы предложить, что база данных «TESTDB» не существует.

SQLAlchemy фактически не создаст базу данных для вас. Вы должны подключиться к существующей базе данных. Затем он создаст все таблицы.

Джо

+0

Спасибо Джо за вашу помощь – azdonald

+0

не проблема :) –

0

Вы можете создать БД так:

url = 'mysql://%s:%[email protected]%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() 
Смежные вопросы