假設要讓 google-cloud-cli
套件維持在目前的版本、不更新,可以使用 apt-mark
鎖定版本:
apt-mark hold google-cloud-cli
若不再需要鎖定版本,則使用 unhold
解除鎖定:
apt-mark unhold google-cloud-cli
軟體開發、伺服器和生活瑣事
假設要讓 google-cloud-cli
套件維持在目前的版本、不更新,可以使用 apt-mark
鎖定版本:
apt-mark hold google-cloud-cli
若不再需要鎖定版本,則使用 unhold
解除鎖定:
apt-mark unhold google-cloud-cli
使用 pip install
時,會自動解決 dependency 並自動安裝需要的 packages,但是 pip uninstall
並不會處理 dependency,所以只會移除指定的 package。
若需要在 uninstall 時,自動將偵測並移除不需要的 packages:
pip-autoremove mailgun mailgun 0.1.1 (/home/zero/tmp/python/whois/lib/python3.8/site-packages) pyactiveresource 1.0.1 (/home/zero/tmp/python/whois/lib/python3.8/site-packages) Uninstall (y/N)?
發現如果 MySQL 中的變數未指定資料型態,會出現一些很雷的行為。
這邊用 JSON 型態:
select json_array( 100, JSON_ARRAY(1, 2) ); # 輸出: [100, [1, 2]]
先除存到 @list
以後在讀取,資料型態就會亂掉:
SET @list = json_array(1, 2); select json_array( 100, @list ); # 輸出: [100, "[1, 2]"]
若需要用到變數,建議先宣告變數型態:
DECLARE list JSON; SET list = json_array(1, 2);
先 docker exec
進入 web server,然後執行:
tootctl cache clear tootctl media remove
reference: How to intelligently clear the cache?
# 重建 media tootctl media refresh --force # 重建帳號相關檔案 tootctl accounts refresh --all
用以下的 SQL 來建立新的 function:
CREATE FUNCTION myfunc(IN str TEXT) RETURNS TEXT RETURN '123';
執行以後會出現錯誤訊息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN str TEXT) returns TEXT return '123'' at line 1
將 function parameter 中的 IN
刪除以後就不會再出現錯誤訊息。
問題是按照 MySQL 官方文件中 create function statements 中的說明,IN
參數是 optional 的,可加可不加,但實際執行時加上 IN
就會出現上面的錯誤。
所以問題來了,是 MySQL 沒有按照文件中的規範實作?還是文件並沒有跟著 MySQL 的實作更新?