sqliteorm的sync_schema介绍
生活随笔
收集整理的這篇文章主要介紹了
sqliteorm的sync_schema介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
遷移功能
- 在遷移過程中,沒有明確的上下函數。取而代之的是sqlite_orm提供的sync_schema函數,它負責將實際的db文件模式和你在make_storage調用中指定的模式進行比較,如果有什么不一樣,它就會改變或放棄/創建模式。
注意事項
- 請注意,sync_schema并不能保證數據會被保存。它只是試圖保存數據。下面你可以看到sync_schema在調用時遵循的規則列表。
- 如果db中存在多余的表 它們將被忽略(而不是丟棄)。
- 每一個來自存儲的表與它的db模擬和比較
- 如果表不存在,則創建
- 如果表存在,它的列與來自db的table_info進行比較,并且
- 如果保存為false,如果db中存在不存在的列(多余的),表將被丟棄并重新創建,并且表將被復制到沒有多余列的臨時表中,源表將被丟棄,如果保存為true,復制后的表將被重命名為源表(sqlite刪除列技術)。它的默認值是false。要注意的是,將它設置為true可能會花費時間來復制表的行。
- 如果存儲空間中的列在db中不存在,那么將使用'ALTER TABLE ... ADD COLUMN ... "命令,表的數據不會被刪除,但是如果任何添加的列是空的,但沒有默認值,表將被刪除并重新創建。
- 如果有任何列存在于db和storage中,但由于任何屬性(type, pk, notnull)的不同,表將被刪除并重新創建(dflt_value沒有被檢查,因為默認值可能有歧義,請注意)。
- 最好的做法是在創建存儲后立即調用這個函數。
參考鏈接
- sqlite_orm
總結
以上是生活随笔為你收集整理的sqliteorm的sync_schema介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿迪旺球鞋贵吗
- 下一篇: windows版本的clion软件除了使