Contents
はじめに
https://rocky-wildwood-40562.herokuapp.com/
ここまでの話
- SendGridを使おうと思ったけれどGmailで済むなら良くないか
- 果たしてDockerからはGMailで飛んだ
- Dockerからherokuに載せようとしたら→テーブルのカラムが見つからないと言われる
- Sequelizeでのmigrationがなんかうまくいってない可能性があった
- git push heroku master で更新した筈の内容が heroku run bash で反映されない
- 何故?
という具合で一晩無駄にした昨日。
なんとか解決を見た本日、改めて投稿。
git push heroku master で更新した筈の内容が heroku run bash で反映されない
heroku run bashでターミナルを開いた場合は、その時点でのファイル情報しか参照できない。
頻繁に git push heroku master を行う場合は
heroku run sequelize-cli db:migrate を使う。
ただ、migrateを実行してもカラムが追加されない…
https://qiita.com/mitsuhiro_K/items/e32e804e2efc01b41fb5
例によってあまり深読みしないでハマってるクチ。今回は
heroku run sequelize-cli db:migrate:undo:all で削除して
heroku run sequelize-cli db:migrate を走らせ定義を変更する方法を取りました。
そしたら今度はテーブル名がUserなのにuserで検索しに行ったり、
カラム名が createdAt なのに created_at で探しに行ったりする。
以下の定義を記述してやると幸せなんですが、
freezeTableName: true, underscored: false
src/config/config.js の環境ごとの接続設定のdefineに記述するようです。
module.exports = { development: { database: "todo", username: "root", password: "password", host: "mysql", port: "3306", dialect: 'mysql', define: { underscored: true }, },
さて本懐。アカウント登録→メール発信を対応しようかね…
GMailのログインで叱られた。SendGridを素直に使おう。
…API使おうとしたら401で叱られた。
SMTPで対応して、ダッシュボードで飛んだのを確認。
ん?sequelizeでauto incrementがうまく行ってない?
もしかしてDBサーバはMariaDBなのがいけないか?もう少し調べる。