日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sqliteorm的sync_schema介绍

發布時間:2023/12/13 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqliteorm的sync_schema介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

遷移功能

  • 在遷移過程中,沒有明確的上下函數。取而代之的是sqlite_orm提供的sync_schema函數,它負責將實際的db文件模式和你在make_storage調用中指定的模式進行比較,如果有什么不一樣,它就會改變或放棄/創建模式。
storage.sync_schema(); // or storage.sync_schema(true);

注意事項

  • 請注意,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介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。