40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
|
from flask import Flask, render_template, request, jsonify
|
|||
|
from utils.sql_parse import parse_create_table_sql
|
|||
|
from utils.log import Log
|
|||
|
|
|||
|
|
|||
|
app = Flask(__name__)
|
|||
|
log = Log().getlog()
|
|||
|
|
|||
|
@app.route('/')
|
|||
|
def index():
|
|||
|
return render_template('index.html')
|
|||
|
|
|||
|
@app.route('/convert', methods=['POST'])
|
|||
|
def convert_sql():
|
|||
|
|
|||
|
sql_input = request.form['sql']
|
|||
|
if sql_input.strip()=='':
|
|||
|
|
|||
|
return jsonify({
|
|||
|
'parsed_result': "请在上面输入框输入hologres建表语句",
|
|||
|
'message': 'SQL processed.'
|
|||
|
})
|
|||
|
|
|||
|
hologres_connection = request.form['hologresConnection']
|
|||
|
log.info("SQL Input: %s", sql_input)
|
|||
|
log.info("SQL hologres_connection: %s", hologres_connection)
|
|||
|
try:
|
|||
|
parsed_result=parse_create_table_sql(sql_input,hologres_connection)
|
|||
|
result = {
|
|||
|
'parsed_result': parsed_result,
|
|||
|
'message': 'SQL processed successfully.'
|
|||
|
}
|
|||
|
except Exception as e:
|
|||
|
result = {'error': f'请检查输入sql:\n\n {str(e)}'}
|
|||
|
log.info("SQL result: %s", result)
|
|||
|
return jsonify(result)
|
|||
|
|
|||
|
if __name__ == '__main__':
|
|||
|
# 指定host和port,这里使用0.0.0.0可以让服务器被外部访问
|
|||
|
app.run(host='0.0.0.0', port=8778, debug=True)
|