簡體   English   中英

Ruby on Rails / ActiveRecord 和表分區

[英]Ruby on Rails / ActiveRecord and Table Partitions

到目前為止,我已經閱讀了文檔並且能夠找到任何可以幫助我的東西。 我也閱讀了大量的博客文章,但似乎沒有什么能直接回答我的問題:

是否可以使用 ActiveRecord 管理 InnoDB 表中的表分區? 我真的更喜歡保持非常干凈,並且我試圖避免編寫外部腳本來嘗試隨着時間的推移自動創建/刪除分區。

是的你可以! 但我不認為有一顆寶石可以為你做這件事。

為了執行分區管理,您需要自己做艱苦的工作,並通過以下方式直接通過連接發送您需要在數據庫上運行的命令

ActiveRecord::Base.connection.execute("ALTER TABLE your_table drop partition p0")

自從我第一次提出這個問題以來,出現了一個額外的解決方案。 雖然該解決方案確實需要在 MySQL 或 Maria 上使用 Postgresql,但這並不是一個高障礙,因為它或多或少是 Rails 的默認數據庫。

Github 上的Partitioned gem 以一種很好的 Railsy 方式專門處理所有的分區機制。

我看不出 ActiveRecord 怎么能做DROP PARTITIONREORGANIZE PARTITION之類的事情。 它甚至可以調用存儲過程嗎? 如果是這樣,那么構建一個類似於我的博客中的內容並從 Rails 調用它。

暫無
暫無

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

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