| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- const fs = require('fs')
- const path = require('path')
- const SQL_FILE = process.argv[2] || path.join(__dirname, '../sql/create-customer-tag-cs1.sql')
- const DB = {
- host: process.env.DB_HOST || 'cq-cdb-8fjmemkb.sql.tencentcdb.com',
- port: Number(process.env.DB_PORT || 27220),
- user: process.env.DB_USER || 'root',
- password: process.env.DB_PASSWORD || 'Ylrz_1q2w3e4r5t6y',
- database: process.env.DB_NAME || 'fs_tenant_cs1',
- multipleStatements: false
- }
- function loadStatements(filePath) {
- const raw = fs.readFileSync(filePath, 'utf8')
- return raw
- .split(';')
- .map(s => s.trim())
- .filter(s => s && !s.split('\n').every(line => !line.trim() || line.trim().startsWith('--')))
- }
- async function main() {
- const mysql = require('mysql2/promise')
- const conn = await mysql.createConnection(DB)
- const statements = loadStatements(SQL_FILE)
- console.log('Target DB:', `${DB.host}:${DB.port}/${DB.database}`)
- console.log('SQL file:', SQL_FILE)
- console.log('Statements:', statements.length)
- try {
- for (const stmt of statements) {
- const [result] = await conn.query(stmt)
- console.log(`${stmt.replace(/\s+/g, ' ').slice(0, 80)}... -> affectedRows=${result.affectedRows || 0}`)
- }
- // 验证表是否创建成功
- const [rows] = await conn.query("SHOW TABLES LIKE 'customer_tag'")
- if (rows.length > 0) {
- console.log('SUCCESS: customer_tag 表已创建/存在')
- const [cols] = await conn.query('DESCRIBE customer_tag')
- console.log('表结构:')
- cols.forEach(c => console.log(` ${c.Field} | ${c.Type} | ${c.Null} | ${c.Key}`))
- } else {
- console.log('FAILED: customer_tag 表未创建')
- process.exit(1)
- }
- console.log('Done.')
- } finally {
- await conn.end()
- }
- }
- main().catch(err => {
- console.error('FAILED:', err.message || err)
- process.exit(1)
- })
|