我正在尝试使用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` ;
答案 0 :(得分:0)
我通过@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:8milerun@localhost/testdb'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False #Turn off annoying message
db = SQLAlchemy(app)