- 論理削除をやめる
- AutoMigrateを使わないようにする
- Rails(Ruby)のdatabase_cleaner gemのようなものを準備する
- 接続用の関数を用意する ってことをやりました。
Qrunchに記載した、下記のログをまとめたものです。
論理削除をやめる
gorm.Modelを埋め込みで使用すると、DeletedAtがついてきて、論理削除を行うようになってしまうので、下記のような構造体を作成してプロジェクト内で使用するようにしました。
|
|
この構造体を埋め込みで使用することで、Railsのモデルと同じような感じでIDとCreatedAtとUpdatedAtが入るようになります。
AutoMigrateを使わないようにする。
既存のカラムの型変更やカラムの削除ができないため、 sqldef を使うようにしました。
Rails(Ruby)のdatabase_cleaner gemのようなものを準備する
cleaner
のコードを利用させてもらいました。
使ったことはないが、dbcleanerのがよいかもしれないです。
接続用の関数を用意する
テストのときに接続先を変えて使ったりするので、下記のような関数を用意して使ってました。
データベースへの接続に書かれている部分に注意して設定する必要があります。
charsetやparseTime、hostの指定について注意する必要があります。
|
|
終わりに
revelの開発が止まってしまっているのが悲しいところ。
否定する人がいるかもしれないが、個人的には、Railsに近い諸々はじめから用意されているデファクトスタンダードのフレームワークがほしいところ。