MySQL Python-从.sql模板文件创建数据库
我需要通过API生成很多临时数据库。我有一个关于每个数据库外观的模板: Template.sqlMySQL Python-从.sql模板文件创建数据库,python,mysql,sql,database,Python,Mysql,Sql,Database,我需要通过API生成很多临时数据库。我有一个关于每个数据库外观的模板: Template.sql ... CREATE SCHEMA IF NOT EXISTS `P0XXXX` ; USE `P0XXXX` ; -- ----------------------------------------------------- -- Table `P0XXXX`.`Customer_Requirement` -- ------------------------------------------
...
CREATE SCHEMA IF NOT EXISTS `P0XXXX` ;
USE `P0XXXX` ;
-- -----------------------------------------------------
-- Table `P0XXXX`.`Customer_Requirement`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `P0XXXX`.`Customer_Requirement` (
`ID` CHAR(32) NOT NULL,
`Date` DATETIME NOT NULL,
`ModulePath` TEXT NULL,
`AbsoluteNumber` TEXT NULL,
`ObjectURL` TEXT NULL,
`lk_contentType` VARCHAR(255) NULL,
`lk_responsible` VARCHAR(255) NULL,
`lk_requirementStatus` VARCHAR(255) NULL,
`LK_CommentInt` TEXT NULL,
`LK_CommentExt` TEXT NULL,
`lk_Function` VARCHAR(1000) NULL,
`lk_Release` TEXT NULL,
`lk_VerificationStatus` TEXT NULL,
`lk_realisationStatus` TEXT NULL,
`lk_FunctionalSafety` TEXT NULL,
...
我没有包括整个文件,但我希望你能理解。因此,利用这个想法,我想知道是否有可能将“P0XXXX”替换为自定义项目名称(例如P00000)。我将通过Python创建它:
def generate_temp_database(self, project_id):
"""
Generates a new database from the standard template
"""
cursor = self.cnx.cursor()
cursor.execute(TEMPLATE.sql) # However, I need to replace the default value of PXXXXX
# I tried .format("P00000") and using params, but won't work in this case
cursor.close()
...
是否有一种方法可以动态地将每个“pxxx”值替换为作为函数参数传递的项目id(因此它将创建具有相同结构但具有不同名称的不同数据库)。我也有“.mwb”文件(模型文件),但我不确定如何与它们交互,或者它们是否适合解决此问题。多谢各位