簡體   English   中英

在Sequel中如何處理是否創建數據庫?

[英]How do I handle whether or not to create a database in Sequel?

我正在將 Sequel 與 SQLite 一起使用,如果 SQLite 數據庫文件尚不存在,我想從 Ruby 代碼創建數據庫。 我可以使用 File 類來查找文件,但我想知道 Sequel 中是否有一些東西可以為我處理這個問題?

起初,我使用create_table?創建每次程序運行時的所有表create_table? 僅在表不存在時才創建表。 這工作正常,直到我需要一個連接表。 有沒有create_join_table? 如果連接表不存在,則僅創建連接表。

在應用程序中處理數據庫創建的任何建議?

Sequel 中 SQLite 訪問的默認行為是如果數據庫不存在則創建該數據庫。

你可以做:

join_table_opts = {...}
DB.create_join_table(join_table_opts) unless DB.table_exists?(DB.send(:join_table_name, join_table_opts))

但使用create_table?可能更容易create_table? 並手動創建連接表。 create_join_table並沒有真正為您節省那么多代碼(最多幾行)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM