箱のプログラミング日記。

渋谷の自社開発企業でRails書いてます。

本番とローカルのDBを同期したい(ダンプとリストア)

MySQLでDBのダンプファイルを作成&リストアする方法についてまとめていきます。 ダンプって何 コンピュータの記憶装置(メモリやストレージなど)に記録された内容をまとめて表示、印刷、記録などすること 引用:ダンプとは - IT用語辞典 e-Words 簡単にい…

JOINとLEFT JOINの違いをきちんと理解する

JOINとLEFT JOINの違いをこれまであまりきちんと理解していなかったので改めておさらい。 結論 簡単に結論だけ先にまとめておくと JOINの場合、合致する右表のレコードがない場合は対応する左表のレコードが削除される(結果に出力されない) LEFT JOINの場…

SQLの基礎の基礎を勉強し直す

これまでなんとなくで学んできたSQLの細かい部分や少し高度な部分を学び直したいなぁと思ってこちらを購入。 https://amzn.to/2CpxmW2 今まで知らなかった部分がいくつかあったので残しておこうと思います。 WHERE NOT は <> で表現できる 基本的すぎるかも…

MySQLがまたまた起動しない【自動起動で解決】

以前もだいぶエラーにハマってこんな感じの記事を書いた気がするのだけど、前はだいぶごちゃごちゃいろんな原因が絡んでいて複雑だったので、改めてシンプルに残しておくためにメモ。 ハマったエラー $ bin/rails db:migrate rails aborted! Mysql2::Error: …

Cannot delete or update a parent row: a foreign key constraint fails【MySQLエラー】

MySQLのエラーでちょっとハマったのでメモ。 models/user.rb class User < ApplicationRecord has_many :articles, dependent: :destroy end models/article.rb class Article < ApplicationRecord belongs_to :user end migration(article) create_table "a…

mysqlが起動しない

開発途中でmysqlのバージョンを下げる必要が出てしまったので、 現在インストール済みの最新バージョンを一度アンインストール→ 下げたバージョンを再度インストール、ということを行ったのだが その後起動しなくなってしまい、だいぶ詰まりました。 やった…

カラムにreferencesの指定ができない【MySQL文法エラー】

カラムに外部キー制約をつけようとしたところうまくいかなかったので、 解決方法を残しておこうと思います。 実現したかったこと postテーブルを作成後、複数のカラムを追加 その際、外部キー制約を設定するカラムが含まれていたが、エラーになる テーブルは…