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

えんじにあ奮闘記

Dockerコンテナのタイムゾーン設定を変更する

Dockerコンテナのタイムゾーン変更でハマったのでメモ。 結論から言うと、docker-compose.ymlに環境変数TZを設定すればうまくいった。 環境 Ruby 2.4.3 Rails...5.1.5 MySQL 5.7 Docker 19.03.12 Dockerコンテナ...app(Rails)/ db(MySQL)/ nginx 流れ そ…

ActiveRecord::ConcurrentMigrationError:の対処法

capistranoでデプロイする過程でmigrationがエラーで実行できなかったのでメモ。 ActiveRecord::ConcurrentMigrationError こんなエラーが出た rake stderr: rake aborted! ActiveRecord::ConcurrentMigrationError: Cannot run migrations because another …

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

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

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

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

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

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

Index name 'index_hoge' on table 'hoge_fugas' already exists と言われた時

migrateしたら遭遇したエラーの対処法。 Index name 'index_hoge' on table 'hoge_fugas' already exists hoge_fugasテーブルのhogeカラムにインデックスを貼ろうとしたらすでに存在するよと言われている感じ。 とりあえず状況を確認してみると bin/rake db:…

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テーブルを作成後、複数のカラムを追加 その際、外部キー制約を設定するカラムが含まれていたが、エラーになる テーブルは…