Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
« :: »cles::blog >ArchiveList >2018-2 > 2018-2-10
«Prev ||1 || Next»
2018/02/10

ActiveRecord で ROW_FORMAT=DYNAMIC を自動でつけるようにするには

ruby  mysql 

ActiveRecord でテーブルが CREATE TABLE されるときに、ROW_FORMAT=DYNAMIC を自動的に追加する方法を見つけたのでメモ。
とりあえず RAILS_ROOT で以下のシェルスクリプトを流せば OK です。

cat << 'EOS' > config/initializers/ar_innodb_row_format.rb# https://qiita.com/kamipo/items/101aaf8159cf1470d823#comment-6a9c50b52e94b8d2cc08module InnodbRowFormat def create_table(table_name, options = {}) table_options = options.merge(options: 'ENGINE=InnoDB ROW_FORMAT=DYNAMIC') super(table_name, table_options) do |td| yield td if block_given? end endendActiveSupport.on_load :active_record do module ActiveRecord::ConnectionAdapters class AbstractMysqlAdapter prepend InnodbRowFormat end endendEOS

参考


    at 19:33 |
    2018/02/10

    MySQL/MariaDB に Error 1709: Index column size too large. The maximum column size is 767 bytes. と言われた時は

    mysql  charset 

    MySQL や MariaDB で文字コードを utf8mb4 にしようとすると以下のようなエラーに遭遇することがあります。

    Error 1709: Index column size too large. The maximum column size is 767 bytes.

    例えばこんな感じでデータベースを作ったときですね。

    CREATE DATABASE hogedb CHARACTER SET utf8mb4;

    これはInnoDB の最大キー長が 767 バイトに制限されているため。
    この制限はある条件をクリアすると 3072 バイトまでに緩和*1することができます。

    その条件は row_format が DYNAMIC もしくは COMPRESSED (これを設定するためには innodb_file_format が Barracuda であることが必要になります)であり、innodb_file_per_table、innodb_large_prefix が有効になっていること。具体的には my.cnf に以下のような設定を記述するだけです。ちなみに以下の設定は既に作成済みのテーブルには効果がないので、設定変更後にテーブルを作り直す必要があることに注意が必要です。

    /etc/my.cnf.d/server.cnf

    [mysqld]innodb_file_format = Barracudainnodb_file_per_table = 1innodb_large_prefix = oninnodb_default_row_format = DYNAMIC # この設定が効かない場合には以下を参照

    最後の行の設定ができない場合には、テーブルの CREATE 文に以下のような感じでROW_FORMAT=DYNAMIC を追加してやる必要があります。

    CREATE TABLE `hogetable` ( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;

    at 16:10 |
    2018/02/10

    4年に1度の電気設備安全点検

    law  electricpower 
    電気設備安全点検の結果について - 4年に1度の電気設備安全点検

    今日は突然、電気設備の点検がやってきたのでびっくり。

    調査員さんが配電盤付近で漏電の調査を行い、写真の点検表を渡していきました。所要時間は3分ほどでした。おそらくアパートに引っ越してから始めてのことだと思うので、聞いてみたところ4年に1回実施しているとのこと。

    東電パワーグリッドのウェブを調べてみると確かに4年に1度という記載がありました。

    安全調査|一般の方向け|東京電力パワーグリッド株式会社

    東京電力パワーグリッド(株)では、電気を安心してお使いいただくために、法律にもとづき4年に1度以上、お客さまの電気設備(自家用電気工作物を除く)の安全調査を実施しています。

    上記の「法律にもとづき」というのが気になったので、経産省のウェブで調べてみると、電気工作物の保安に詳細が掲載されていました。これによると、一般家庭の電気設備は「一般用電気工作物」というカテゴリになるようです。

    この一般用電気工作物の調査については電気事業法 第五十七条に定めがあり、電気事業法施行規則 第九十六条2の一のイ調査の頻度は四年に一回以上と定められていました。これによると、占有者の承諾を得ることができない場合にはこの限りでないとあるので、留守だったりした場合には調査しなくてもよいみたいですね。そんなわけで、これまでは気づかなかったのだろうと思います。

    ちなみに、遅滞なく結果を通知しなければならないようなので、すぐに結果の紙を渡すところまでが義務だったようです。

    電気事業法

    (調査の義務)
    第五十七条 一般用電気工作物と直接に電気的に接続する電線路を維持し、及び運用する者(以下この条、次条及び第八十九条において「電線路維持運用者」という。)は、経済産業省令で定める場合を除き、経済産業省令で定めるところにより、その一般用電気工作物が前条第一項の経済産業省令で定める技術基準に適合しているかどうかを調査しなければならない。ただし、その一般用電気工作物の設置の場所に立ち入ることにつき、その所有者又は占有者の承諾を得ることができないときは、この限りでない。
     電線路維持運用者は、前項の規定による調査の結果、一般用電気工作物が前条第一項の経済産業省令で定める技術基準に適合していないと認めるときは、遅滞なく、その技術基準に適合するようにするためとるべき措置及びその措置をとらなかつた場合に生ずべき結果をその所有者又は占有者に通知しなければならない。

    電気事業法施行規則

    (一般用電気工作物の調査)
    第九十六条 法第五十七条第一項の経済産業省令で定める場合は、次のとおりとする。
    ・・・・・・
     法第五十七条第一項の規定による調査は、次の各号により行うものとする。
      調査は、一般用電気工作物が設置された時及び変更の工事(ロに掲げる一般用電気工作物にあっては、受電電力の容量の変更を伴う変更の工事に限る。)が完成した時に行うほか、次に掲げる頻度で行うこと。
       ロに掲げる一般用電気工作物以外の一般用電気工作物にあっては、四年に一回以上


      at 13:19 |
      «Prev ||1 || Next»
      « :: »cles::blog >ArchiveList >2018-2 > 2018-2-10
      Copyright © 2004-2023 by CLES All Rights Reserved.
      サイト内検索
      検索ワードランキング
      へぇが多いエントリ
      閲覧数が多いエントリ
      1 .アーロンチェアのポスチャーフィットを修理(100407)
      2 .福岡銀がデマの投稿者への刑事告訴を検討中(99747)
      3 .年次の人間ドックへ(99717)
      4 .三菱鉛筆がラミーを買収(99321)
      5 .2023 年分の確定申告完了!(1つめ)(99294)
      最新のエントリ
      cles::blogについて
      誰が書いてる?
      最近行った場所
      サイトポリシー
      タグ一覧
      検索ワードランキング

      Referrers

        Powered by CLES
        Nucleus CMS v3.31SP3/w memcached
        21389163(W:9574 Y:1555 T:1135)
        cles::blogのはてなブックマーク数
        benchmark


        [8]ページ先頭

        ©2009-2025 Movatter.jp