fix: resolve password migration crash and schema constraints
- Login bcrypt migration: write password_salt = '' instead of NULL, which violated the NOT NULL constraint and caused 500 errors - Schema: widen password_hash from CHAR(64) to VARCHAR(100) for bcrypt compatibility, add DEFAULT '' to password_salt - init-db: add ALTER TABLE migrations for existing databases - app.js: enrich error logging with method, path, SQL error details
这个提交包含在:
@@ -20,6 +20,8 @@ async function main() {
|
||||
await conn.query(schema)
|
||||
|
||||
await conn.query("ALTER TABLE devices MODIFY product_id VARCHAR(64) NOT NULL DEFAULT 'HOX_LIGHT_MASK'").catch(() => {})
|
||||
await conn.query("ALTER TABLE admin_accounts MODIFY password_hash VARCHAR(100) NOT NULL").catch(() => {})
|
||||
await conn.query("ALTER TABLE admin_accounts MODIFY password_salt VARCHAR(32) NOT NULL DEFAULT ''").catch(() => {})
|
||||
|
||||
const [rows] = await conn.execute('SELECT admin_id FROM admin_accounts WHERE username = ?', [config.admin.username])
|
||||
if (rows.length === 0) {
|
||||
|
||||
在新工单中引用
屏蔽一个用户