我的組織正在開發基於W as作爲CMS後端的新發布平臺。我們在MS SQL數據庫中擁有豐富的內部專業知識,但對Postgres或MySQL沒有任何幫助,所以更願意使用MS SQL(特別是SQL Azure) - Wagtail的文檔似乎暗示了這一點。疑難解答建議需要W// SQL Azure兼容性
我有一個Wagtail運行的實例,並安裝了聲稱支持SQL Azure的Django後端(https://pypi.python.org/pypi/django-pyodbc-azure)。我已經在settings.py中配置了我的數據庫連接設置。
我可以成功運行遷移並創建超級用戶,因此我相當有信心數據庫連接性良好。
那麼我就可以瀏覽到鶺鴒登錄頁面:http://localhost:8000/admin但後立即與提供給createsuperuser腳本的憑據登錄,我收到以下錯誤:
('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'LIMIT'. (102) (SQLExecDirectW)")
這似乎是鶺鴒本身使用這是MS SQL中不支持的LIMIT關鍵字 - 我的最佳解決方法和嘗試解決此問題的方法是什麼?還是我躲在一無所有?
違規SQL:
SELECT wp.* FROM wagtailcore_pagerevision wp
JOIN (SELECT max(created_at) AS max_created_at,
page_id FROM wagtailcore_pagerevision WHERE user_id = %s
GROUP BY page_id ORDER BY max_created_at DESC LIMIT %s) AS max_rev ON max_rev.max_created_at = wp.created_at ORDER BY wp.created_at DESC
SQL的違規位似乎是:'SELECT WP * FROM wagtailcore_pagerevision WP JOIN( SELECT MAX(created_at)AS max_created_at,PAGE_ID FROM wagtailcore_pagerevision WHERE USER_ID =%S GROUP BY PAGE_ID ORDER BY max_created_at DESC LIMIT% s )來自wagtail/wagtailadmin/views/home的AS max_rev ON max_rev.max_created_at = wp.created_at ORDER BY wp.created_at DESC'。py – nm76
SQLServer沒有'LIMIT' keyword.use'TOP'而不是 – TheGameiswar
請注意,Wagtail目前尚未正式支持SQL Server。過去,用戶已成功獲得Wagtail與SQL Server一起工作,並提供補丁以提供MS SQL兼容性,但目前還沒有正在進行的QA測試來確保它仍然兼容。不幸的是,它看起來像這個查詢在W 1.7 1.7期間滑入,並且至今沒有報道。 – gasman