つらくないマルチテナンシーを求めて: 全て見せます! SmartHR データベース移行プロジェクトの裏側 / builderscon 2018
productionのデータ変更処理をmigrationに書くとrails_best_practicesに怒られる。 Rails Best Practices | Isolating Seed Data 怖話のコードで言えば下記の様なもの。 # encoding: utf-8 class InsertSeedToSound < ActiveRecord::Migration def up Sound.create!(id: 1, name: "鳥の鳴き声") Sound.create!(id: 2, name: "犬の鳴き声") Sound.create!(id: 3, name: "水滴") Sound.create!(id: 4, name: "カエルの鳴き声") Sound.create!(id: 5, name: "ラジオのチューニング") end def down Sound.d
Wantedlyでは、Railsによる開発が行われており、社内で有志のコードリーディングを行っています。 WHY 何故やるのか:コードレベルまで一度追うことで、問題が起こった時の解決までの時間が短縮されます。 また、本質的になにをやっているか理解するとRailsの魔法感を低減できます。 WHAT なにをするのか:今回はmigrate周りのコードリーディングです。コマンドからSQL文発行までのソースを追います。 HOW どうやってやるか?実際のコードを読みます。 rake db:migrateを実行するとなにが起こるか コマンドからSQL文発行までのソースを追いたい。 source file 今回呼んだソースはRails 4.0.13のものです。自分の環境では以下に入っていました。 ~/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/active
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Ruby on Railsには便利な機能がたくさんありますが、特に有名なのがデータベースのマイグレーションではないでしょうか。それまでのデータベース管理はとても煩雑なものでしたが、コードでバージョン管理できるのはとても新鮮なものだったと言えます。 今回はそんなマイグレーションをビジュアル化するRyakuzuを紹介します。 Ryakuzuの使い方 Ruby on Railsのプロジェクトに組み込んで使います。インストールすると、 http://localhost:3000/ryakuzu というURLでRyakuzuにアクセスできます。 カラムを増やしたりリネームしたりして、実際にマイグレーションを実行するとところまでWeb上でできます。 現在のデータベース構造をCSVに出力できます
Redmine(Rails) の DB を SQLite3 から MySQL に移行する - garin.jp ホーム | ドキュメント Table of contents: 概要 変換方法 今回の方法: SQLite3 => YAML => MySQL SQLite3 => MySQL のツールではダメなの? 更新履歴 前提環境 移行手順 準備 データの出力 データの入力 Redmineサービスの再開 参考URL 1 概要 Ruby on Rails製のプロジェクト管理ツール『Redmine』を最初に設置した際、ファイルを作成するだけという設定の容易さからデータベースとして SQLite3 を採用しました。 しかし、管理するデータの容量が増えてくると目に見えて速度の遅さが気になりはじめました。 そこで、データベースを SQLite3 から MySQL への移行する事になりました。
■rakeタスク 一覧 rake -T ■rake db:abort_if_pending_migrations 実行されてないmigrationを教えてくれる。 ■rake db:charset データベースの文字コードを教えてくれる。 ■rake db:collation データベースの照合順序を教えてくれる。 ■rake db:create database.ymlの内容でデータベースを作る。 −「RAILS_ENV」オプション productionのが作りたければrake db:create RAILS_ENV=production ■rake db:create:all database.ymlに定義してあるデータベースを全部作る。 ■rake db:drop createの逆。 ■rake db:drop:all create:allの逆。 ■rake db:migrate:r
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く