BLOGTIMES
» ArchiveList (Tag for "mysql / ruby" )
«Prev || 1 · | Next»
2019/10/29

gem mysql から mysql2 に移行してみる

ruby  mysql 

昔書いた Ruby のプログラムを CentOS 7 上で動かそうとしたのですが、MariaDB が 10.4 と比較的新しいバージョンだったので gem で mysql がインストールできないので困ってしまいました。

mysqlを見ると、最終アップデート日が 2013 年になっていて、最近はメンテナンスされていないようです。このまま粘っても解決の見込みも立たないので、mysql2 に移行してしまうことにしました。

ソースの書き換えは大きく3箇所

基本的には以下の3箇所を変更してやれば、基本的な動作はするようです。
Date などの部分を自動的に cast する機能がついたようですが、これは :cast => false でオフにしてあります。

# モジュールの読み込み require 'mysql' require 'mysql2' # 接続 @db = Mysql::connect('localhost', 'user_name', 'pass', 'db_name') @db = Mysql2::Client.new(:host => 'localhost', :username => 'user_name', :password=> 'pass', :database => 'db_name', :cast => false) # 結果の取得 rows.each_hash rows.each
[gem mysql から mysql2 に移行してみる の続きを読む]

    at 22:24 |
    2019/09/09

    CentOS 7 + MariaDB の組み合わせで gem mysql2 がエラーになるときは

    ruby  centos7  mysql 

    CentOS 7 に MariaDB をインストールして、Ruby の gem mysql2 実行したらエラーになってしまって困ってしまいました。

    エラーメッセージを読む限りリンカのエラーのようなので、もう一度良く MariaDB のインストールを確認したら MariaDB-shared が入っていないのが原因だったようで、以下のコマンド1行で解決でした。MariaDB-devel だけでいけると思っていたのが、勘違いでしたね。

    yum install -y MariaDB-shared

    CentOS 7 への MariaDB のインストール

    ハマらないように次回からは以下のような感じでインストールすることにしようと思います。

    curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash yum install -y MariaDB-server MariaDB-client MariaDB-devel MariaDB-shared systemctl start mariadb systemctl enable mariadb mysql_secure_installation

      at 16:28 |
      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-6a9c50b52e94b8d2cc08 module 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 end end ActiveSupport.on_load :active_record do module ActiveRecord::ConnectionAdapters class AbstractMysqlAdapter prepend InnodbRowFormat end end end EOS

      参考


        at 19:33 |
        2010/06/23

        CCライセンスのRoRプログラミング教科書

        ipa  ruby  mysql  opensource  courseware 

        IPAのサイトでRubyによるWebアプリケーション開発に関する教材がクリエイティブコモンズライセンスで公開されているのを見つけました。MySQLとRubyの基本的な使い方から、最終的にはRuby on Rails開発が一通りできるようになるまでのテキスト、講義ノート、理解度テストがセットになった全4編構成。内容が比較的平易に書かれていると思うので、自習用教材としてはいいかもしれません。

        情報処理推進機構:オープンソフトウェア:OSS人材育成:OSSモデルカリキュラム導入実証

        ○テーマ RubyによるWebアプリケーション開発 教育プログラム導入実証

        ○概要 OSSモデルカリキュラムから、Light Weight Languageに関する知識およびRDBに関する知識を中心に、以下の全4科目に再編した教育プログラムを開発し、導入実証を行った。

        サイトを良く見るとOSSモデルカリキュラムで公開されている教科書類は全部クリエイティブコモンズライセンスですね。IPAがこうやって税金で入門書を作らせて無償公開させているというのは知りませんでした。IPA、もうちょっとプロモーションがうまければなぁ。


          at 23:16 |
          «Prev || 1 · | Next»
          » ArchiveList (Tag for "mysql / ruby" )