तो मुझे बस एक ही समस्या थी और निम्नलिखित करके हल करने में सक्षम था।
SQL कीमिया दस्तावेज़ीकरण के बाद मैंने पाया कि मैं अपने pyodbc कनेक्शन स्ट्रिंग का उपयोग इस तरह कर सकता हूँ:
# Python 2.x
import urllib
params = urllib.quote_plus("DRIVER={SQL Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password")
engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
# Python 3.x
import urllib
params = urllib.parse.quote_plus("DRIVER={SQL Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password")
engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
# using the above logic I just did the following
params = urllib.parse.quote_plus('DRIVER={SQL Server};SERVER=HARRISONS-THINK;DATABASE=LendApp;Trusted_Connection=yes;')
app.config['SQLALCHEMY_DATABASE_URI'] = "mssql+pyodbc:///?odbc_connect=%s" % params
इसके बाद एक अतिरिक्त त्रुटि हुई क्योंकि मैं फ्लास्क-माइग्रेट का भी उपयोग कर रहा था और जाहिर तौर पर यह कनेक्शन यूआरआई में% पसंद नहीं करता है। तो मैंने कुछ और खुदाई की और इस पोस्ट को पाया। फिर मैंने अपने ./migrations/env.py
. में निम्न पंक्ति को बदल दिया फ़ाइल
से:
from flask import current_app
config.set_main_option('sqlalchemy.url',
current_app.config.get('SQLALCHEMY_DATABASE_URI'))
प्रति:
from flask import current_app
db_url_escaped = current_app.config.get('SQLALCHEMY_DATABASE_URI').replace('%', '%%')
config.set_main_option('sqlalchemy.url', db_url_escaped)
यह सब करने के बाद मैं अपना माइग्रेशन करने में सक्षम हो गया और सब कुछ ऐसा लगता है जैसे यह अब सही ढंग से काम कर रहा है।