sequelizeを使ってApsaraDB for RDSにマイグレーションを流します。
ApsaraDB for RDSはちょっとお金がかかって、日本リージョンは1日120円くらいです。1ヶ月だと4000円ですね。個人利用だと地味に効いてくる値段です。
準備
準備として以下を行います。多分特に迷うところはなく画面をポチポチすれば大丈夫です。
ホスト名は「データベースの接続」でインターネット接続を有効化すると表示されます。
ホワイトリストも忘れないように設定しましょう。
マイグレーションする
DBを作成したので今度はテーブルを作成します。sequelize
でマイグレーションできるようにしましょう。
$ yarn add global sequelize-cli $ yarn add sequelize $ yarn add mysql2 $ sequelize init Sequelize CLI [Node: 10.6.0, CLI: 4.1.1, ORM: 4.38.0] Created "config/config.json" Successfully created models folder at "/Users/ryouta/src/kumonotami-migration/models". Successfully created migrations folder at "/Users/ryouta/src/kumonotami-migration/migrations". Successfully created seeders folder at "/Users/ryouta/src/kumonotami-migration/seeders".
config/config.json
を編集して先ほど調べたホスト名、ユーザー名、パスワードを入力します。
{ "development": { "username": "myapp_test", "password": "xxxxxxxxxxxxxx", "database": "myapp_db_test", "host": "xxxxxxxxxxxxx.mysql.japan.rds.aliyuncs.com", "dialect": "mysql" } }
次に新しくテーブルを作ります。
$ sequelize model:create --underscored --name user --attributes "sub:string,deleted_at:date" Sequelize CLI [Node: 10.6.0, CLI: 4.1.1, ORM: 4.38.0] New model was created at /Users/ryouta/src/kumonotami-migration/models/user.js . New migration was created at /Users/ryouta/src/kumonotami-migration/migrations/20180902014424-user.js .
これでマイグレーションファイルとモデルファイルが新規作成されます。これでよければマイグレーションを実行します。
$ sequelize db:migrate --env development Sequelize CLI [Node: 10.6.0, CLI: 4.1.1, ORM: 4.38.0] Loaded configuration file "config/config.json". Using environment "development". sequelize deprecated String based operators are now deprecated. Please use Symbol based operators for better security, read more at http://docs.sequelizejs.com/manual/tutorial/querying.html#operators node_modules/sequelize/lib/sequelize.js:242:13 == 20180902014423-create-user: migrating ======= == 20180902014423-create-user: migrated (0.087s)
MySQL Workbenchで確認してみたところ、ちゃんと作成されていることがわかりました。