下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第python用sqlacodegen根據(jù)已有數(shù)據(jù)庫(表)結(jié)構(gòu)生成對應(yīng)SQLAlchemy模型注意事項
今天介紹一個后臺開發(fā)神器,很適合當(dāng)我們數(shù)據(jù)庫中已存在了這些表,然后你想得到它們的model類使用ORM技術(shù)進(jìn)行CRUD操作(或者我根本就不知道怎么寫modle類的時候);
手寫100張表的model類?
這是。。。。。。。。。是不可能的,這輩子都不可能的。
因為我們有sqlacodegen神器,一行命令獲取數(shù)據(jù)庫所有表的模型類。
應(yīng)用場景
1、后臺開發(fā)中,需要經(jīng)常對數(shù)據(jù)庫進(jìn)行CRUD操作;
2、這個過程中,我們就經(jīng)常借助ORM技術(shù)進(jìn)行便利的CURD,比如成熟的SQLAlchemy;
3、但是,進(jìn)行ORM操作前需要提供和table對應(yīng)的模型類;
4、并且,很多歷史table已經(jīng)存在于數(shù)據(jù)庫中;
5、如果有幾百張table呢?還自己一個個去寫嗎?
6、我相信你心中會有個念頭。。。
福音
還是那句話,Python大法好。這里就介紹一個根據(jù)已有數(shù)據(jù)庫(表)結(jié)構(gòu)生成對應(yīng)SQLAlchemy模型類的神器:sqlacodegen
ThisisatoolthatreadsthestructureofanexistingdatabaseandgeneratestheappropriateSQLAlchemymodelcode,usingthedeclarativestyleifpossible.
安裝方法:
pipinstallsqlacodegen
快快使用
使用方法也很簡單,只需要在終端(命令行窗口)運行一行命令即可,將會獲取到整個數(shù)據(jù)庫的model:
常用數(shù)據(jù)庫的使用方法:
sqlacodegenpostgresql:///some_local_db
sqlacodegenmysql+oursql://user:password@localhost/dbname
sqlacodegensqlite:///database.db
查看具體參數(shù)可以輸入:
sqlacodegen--help
參數(shù)含義:
optionalarguments:
-h,--helpshowthishelpmessageandexit
--versionprinttheversionnumberandexit
--schemaSCHEMAloadtablesfromanalternateschema
--tablesTABLEStablestoprocess(comma-separated,default:all)
--noviewsignoreviews
--noindexesignoreindexes
--noconstraintsignoreconstraints
--nojoineddon'tautodetectjoinedtableinheritance
--noinflectdon'ttrytoconverttablesnamestosingularform
--noclassesdon'tgenerateclasses,onlytables
--outfileOUTFILEfiletowriteoutputto(default:stdout)
目前我在postgresql的默認(rèn)的postgres數(shù)據(jù)庫中有個這樣的表:
createtablefriends
idvarchar(3)primarykey,
addressvarchar(50)notnull,
namevarchar(10)notnull
createuniqueindexname_address
onfriends(name,address);
為了使用ORM進(jìn)行操作,我需要獲取它的modle類但唯一索引的model類怎么寫呢?我們借助sqlacodegen來自動生成就好了
sqlacodegenpostgresql://ridingroad:ridingroad@127.0.0.1:5432/postgres--outfile=models.py--tablesfriends
模型類效果
查看輸出到models.py的內(nèi)容
#coding:utf-8
fromsqlalchemyimportColumn,Index,Stri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025湖南長沙市湘一史家坡學(xué)校(初中部)招聘教師1人備考題庫及答案詳解(考點梳理)
- 2024遼寧公務(wù)員考試備考題庫及完整答案詳解
- 2026廣東茂名市電白區(qū)城鎮(zhèn)公益性崗位招聘2人備考題庫(第一批)及答案詳解參考
- 2026天津市北辰醫(yī)院招聘事業(yè)單位人員1人備考題庫及1套完整答案詳解
- 2026安康漢陰縣圖書館寒假志愿者招募備考題庫(30人)及一套答案詳解
- 2025內(nèi)蒙古呼倫貝爾市國資委所屬事業(yè)單位引進(jìn)人才1人備考題庫及一套答案詳解
- 2026四川德陽市廣漢市廣電文化傳媒有限責(zé)任公司招聘6人備考題庫及答案詳解(考點梳理)
- 2025年東寧縣林業(yè)系統(tǒng)事業(yè)單位招聘考試《林業(yè)基礎(chǔ)知識》筆試試題及答案解析
- 旅游景點門票銷售與票務(wù)管理指南(標(biāo)準(zhǔn)版)
- 保險業(yè)務(wù)處理操作規(guī)范(標(biāo)準(zhǔn)版)
- 金融領(lǐng)域人工智能算法應(yīng)用倫理與安全評規(guī)范
- 2026長治日報社工作人員招聘勞務(wù)派遣人員5人備考題庫及答案1套
- 機(jī)動車駕校安全培訓(xùn)課件
- 河道清淤作業(yè)安全組織施工方案
- 2025年役前訓(xùn)練考試題庫及答案
- 2026年七臺河職業(yè)學(xué)院單招職業(yè)技能測試題庫附答案
- 2021海灣消防 GST-LD-8318 緊急啟停按鈕使用說明書
- 煙花爆竹零售經(jīng)營安全責(zé)任制度
- 2023年和田地區(qū)直遴選考試真題匯編含答案解析(奪冠)
- ICG熒光導(dǎo)航在肝癌腹腔鏡解剖性肝切除中的應(yīng)用2026
- 城市軌道交通服務(wù)與管理崗位面試技巧
評論
0/150
提交評論