- 更新 sqlalchemy 1.4/2.0
- 新增 sqlalchemy_mixins 套件 實現類似
Django ORM
方法
- 使用 sqlalchemy , alembic 來實現在
Plone
中使用 ORM 技術
Library
//需要先手動安裝
sudo apt install alembic
pip3 install SQLAlchemy>=1.4.23
pip3 install sqlalchemy_mixins>=1.5
pip3 install zope.sqlalchemy>=1.5
pip3 install zope.i18nmessageid
//MySql
sudo apt install -y mysql-client
sudo apt-get install libmysqlclient-dev
sudo apt install libssl-dev
sudo apt install libcrypto++-dev
pip3 install mysqlclient
//postgresql
pip3 install psycopg2-binary
sudo apt install libpq-dev python3-dev
pip3 install psycopg2
SetupFile
plone.sqlalchemy/SetupFile 目錄下執行
$ make install
//輸入想要建立的專案位置ex. my.package
//檔案會自動建立在專案內
//如果想參考 Query Method 請參考
alchemy_demo_14.py
-
設定 alembic.ini alembic
-
編輯 Alembic/env.py
-
Plone後台 configlet: ORM setting 設定 mysql://{account}:{password}@{localhost}:{port}/{database_name}?charset=utf8mb4
Makefile
// 如同 git commit -m 'init' 依樣的功能
// 會記錄變更在versions中
$ make migrate m=init
// upgrade to database
$ make upgrade