fix: escape 'key' as reserved word in all MySQL queries with backticks
This commit is contained in:
+12
-12
@@ -41,10 +41,10 @@ func (db *DB) Conn() *sql.DB {
|
||||
|
||||
func (db *DB) migrate() error {
|
||||
stmts := []string{
|
||||
`CREATE TABLE IF NOT EXISTS settings (
|
||||
key VARCHAR(255) PRIMARY KEY,
|
||||
value TEXT NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4`,
|
||||
"CREATE TABLE IF NOT EXISTS settings (" +
|
||||
"`key` VARCHAR(255) PRIMARY KEY," +
|
||||
"value TEXT NOT NULL" +
|
||||
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",
|
||||
`CREATE TABLE IF NOT EXISTS users (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
email VARCHAR(255) NOT NULL UNIQUE,
|
||||
@@ -52,13 +52,13 @@ func (db *DB) migrate() error {
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4`,
|
||||
`CREATE TABLE IF NOT EXISTS user_settings (
|
||||
user_id BIGINT NOT NULL,
|
||||
key VARCHAR(255) NOT NULL,
|
||||
value TEXT NOT NULL,
|
||||
PRIMARY KEY (user_id, key),
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4`,
|
||||
"CREATE TABLE IF NOT EXISTS user_settings (" +
|
||||
"user_id BIGINT NOT NULL," +
|
||||
"`key` VARCHAR(255) NOT NULL," +
|
||||
"value TEXT NOT NULL," +
|
||||
"PRIMARY KEY (user_id, `key`)," +
|
||||
"FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE" +
|
||||
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4",
|
||||
`CREATE TABLE IF NOT EXISTS repositories (
|
||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id BIGINT,
|
||||
@@ -105,7 +105,7 @@ func (db *DB) migrate() error {
|
||||
func (db *DB) seedDefaults() error {
|
||||
for key, val := range models.DefaultSettings {
|
||||
_, err := db.conn.Exec(
|
||||
`INSERT IGNORE INTO settings (key, value) VALUES (?, ?)`, key, val,
|
||||
"INSERT IGNORE INTO settings (`key`, value) VALUES (?, ?)", key, val,
|
||||
)
|
||||
if err != nil {
|
||||
log.Printf("warning: failed to seed setting %s: %v", key, err)
|
||||
|
||||
Reference in New Issue
Block a user