models.Base.metadata.create_all(bind=engine) 创建表后是否留在代码中?
Does models.Base.metadata.create_all(bind=engine) stay in code after creating tables?
我正在处理由我之前的一些人构建的项目,当我使用 sqlalchemy 创建一些新表时,我发现创建表的方法已被删除。因此,我不得不再次将其放入代码中以创建表。我想知道的是它是否不需要在创建表后留在代码中。放在那里有什么问题吗?
这是我正在谈论的行代码:
models.Base.metadata.create_all(bind=engine)
Metadata.create_all 采用 checkfirst
关键字参数,该参数确定 SQLAlchemy 是否应在尝试创建 table 之前检查它是否已经存在。此参数的默认值为 True
,因此一旦创建了 table,未来的调用将无效,除了发出一些查询。
您可以保留代码 - 当开发人员需要创建新环境时它会很有用。
我正在处理由我之前的一些人构建的项目,当我使用 sqlalchemy 创建一些新表时,我发现创建表的方法已被删除。因此,我不得不再次将其放入代码中以创建表。我想知道的是它是否不需要在创建表后留在代码中。放在那里有什么问题吗?
这是我正在谈论的行代码:
models.Base.metadata.create_all(bind=engine)
Metadata.create_all 采用 checkfirst
关键字参数,该参数确定 SQLAlchemy 是否应在尝试创建 table 之前检查它是否已经存在。此参数的默认值为 True
,因此一旦创建了 table,未来的调用将无效,除了发出一些查询。
您可以保留代码 - 当开发人员需要创建新环境时它会很有用。