ActiveRecordでテーブルステータスを取得する
3971 ワード
Railsアプリケーションの開発中にテーブルの作成日時が欲しくなったので、やり方を調べたりしたので共有です。参考にしたのは、rails/abstract_mysql_adapter.rb#L135 あたりのコードです。
# HACK: クラスを再オープンしてクラスメソッドを定義する
class ActiveRecord::Base
def self.table_status
query = "SHOW TABLE STATUS LIKE '#{self.table_name}'"
connection.select_one(query)
end
end
irb(main):001:0> User.table_status
(1.7ms) SHOW TABLE STATUS LIKE 'users'
=> {"Name"=>"users",
"Engine"=>"InnoDB",
"Version"=>10,
"Row_format"=>"Compact",
"Rows"=>10,
"Avg_row_length"=>1638,
"Data_length"=>16384,
"Max_data_length"=>0,
"Index_length"=>180224,
"Data_free"=>0,
"Auto_increment"=>11,
"Create_time"=>2015-02-28 07:48:06 +0900,
"Update_time"=>nil,
"Check_time"=>nil,
"Collation"=>"utf8_unicode_ci",
"Checksum"=>nil,
"Create_options"=>"",
"Comment"=>""}
Author And Source
この問題について(ActiveRecordでテーブルステータスを取得する), 我々は、より多くの情報をここで見つけました https://qiita.com/ryutaro_mizokami/items/b39810483c1f37e9fab0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .