python - Flask-SQLAlchemy 在创建表之前创建架构

标签 python mysql flask-sqlalchemy

我正在尝试使用 Flask-SQLAlchemy 配置 MySQL 架构。我有一个名为 testdb 的架构和一些表。我将列出一张表,用户。 到目前为止,此代码创建了所需的所有表,但仅当 testdb 已存在时才创建。有没有办法在连接之前检查并创建testdb

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:password@localhost/testdb'
db = SQLAlchemy(app)

class User(db.Model):
    userid = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(16), unique=True, nullable=False)
    password = db.Column(db.String(16), unique=False, nullable=False)
    email = db.Column(db.String(80), unique=True, nullable=False)
    createdDate = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
    lastUpdated = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)

db.create_all()

所需命令:

CREATE SCHEMA IF NOT EXISTS `testdb` ;

最佳答案

感谢@hygorxaraujo,我解决了这个问题 请参阅下面的代码:

import sqlachemy

engine = sqlalchemy.create_engine('mysql://root:password@localhost') # connect to server
engine.execute("CREATE SCHEMA IF NOT EXISTS `testdb`;") #create db
engine.execute("USE testdb;") # select new db

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mypassword@localhost/testdb'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False #Turn off annoying message
db = SQLAlchemy(app)

关于python - Flask-SQLAlchemy 在创建表之前创建架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54848161/

相关文章:

python-2.7 - SQLAlchemy的安装未链接到Flask

python - 为什么 Flask SQL Alchemy 允许保存 None 主键?

Python 网页抓取 - 尝试提取文本

PHP - 通过 url id 识别用户

php - 计算计数,然后计算总计数的总和 MySql

python - 使用 Flask/SQLAlchemy 最后对零进行排序

Python 相当于 curls --form : Create multipart form-data post request with data in "form" parameter

python - 在 Python 中使用 urlopen() 防止 "hidden"重定向

python - 如何在 OpenCV 中计算焦距?

php - mysql_fetch_assoc 中的 is_numeric()