我正在使用sqlx将MySQL数据库连接到Golang。我有一个SQL模式,其中定义了所有Instance of 'DocumentSnapshot'
语句。这里是一个例子:
CREATE TABLE IF NOT EXISTS...
这是我连接数据库的方式,每次都执行所有查询:
CREATE TABLE IF NOT EXISTS `users`
(
`id` INT(0) NOT NULL auto_increment,
`language_code` VARCHAR(5) NOT NULL,
`premium` BIT(0) DEFAULT 0,
`status` VARCHAR(100) NOT NULL DEFAULT '',
`user_id` INT(0) NOT NULL,
PRIMARY KEY (id)
);
...
我想每次添加新列或编辑一些参数(例如Database, err = sqlx.Connect(Config.Database.Type, Config.Database.DataSourceString) // Connect to the database
if err != nil { // If there's an error, handle it
panic(err.Error())
}
defer Database.Close() // Close the database when the function finishes
schemaSQL, err := ioutil.ReadFile("schema.sql") // Read the configuration file (DealsFinderBot/config.yaml)
if err != nil { // If there's an error, handle it
panic(err.Error())
}
for _, query := range strings.Split(string(schemaSQL), ";") { // Loop on the queries of the schema
if strings.TrimSpace(query) != "" { // If the query is not empty
Database.MustExec(query) // Execute the query
}
}
或NOT NULL
)时(更改表)进行更新。我该怎么办?