我想在我的mySQL数据库中强制使用ENUM约束。为此,建议我使用“严格”sql模式。在交互式提示符中,可以将其设置为:
SET GLOBAL sql_mode = 'STRICT_ALL_TABLES';
SET SESSION sql_mode = 'STRICT_ALL_TABLES';或在服务器启动时:
--sql-mode="STRICT_ALL_TABLES"或在my.cnf中为:
sql-mode="STRICT_ALL_TABLES"在peewee中有做这种事情的方法吗?也许是通过扩展Database类?还是在查询中注入原始sql?
发布于 2015-03-03 21:51:12
您最好的选择是可能将MySQLDatabase子类化并重写_connect()方法。
class StrictMySQLDatabase(MySQLDatabase):
def _connect(self, database, **kwargs):
conn = super(StrictMySQLDatabase, self)._connect(database, **kwargs)
cursor = conn.cursor()
cursor.execute("SET SESSION sql_mode = 'STRICT_ALL_TABLES';")
return connhttps://stackoverflow.com/questions/28839615
复制相似问题