テーブルを作成するスクリプトを生成します。これらのスクリプトを生成し続けてもらうことになるでしょう。代わって自分で書いていくことになります。ボタンを押すことができます。引数を追加することで、このプロンプトを無効にすることができます。テストケースを書くことです。これによりアプリケーションをくり返し仕上げ、すべてがばっちりであることを確信できるようになります。いう新しいファイルを作成してください。クラスを継承しました。メソッドを提供します。注釈したメソッドも実装しました。このアノテーションは、このメソッドがそれぞれのテストの前に実行されることを意味します。起動して、アプリケーションが新しいインメモリデータベースを使用するよう設定しています。インメモリデータベースを使用するので、それぞれのテストの前に新しいまっさらのデータベースが作成されますから、テスト毎にデータベースをクリアすることに気を揉む必要はありません。ファインダを使ってプログラムでクエリを組み立てているのが分かります。テストは成功するはずです。オブジェクトは、コードのどこででも使うことができますが、アプリケーション中にコードを散らかすのは良いプラクティスではありません。必要なのはユーザを認証するクエリです。テストランナーですべてのテストを実行し、なにも壊れていないことを確認することができます。上記の認証コードはパスワードを平文で保存しています。これはとても悪いプラクティスで、パスワードは保存される前にハッシュ化するべきですし、問い合わせの前にもハッシュ化するべきです。これはこのチュートリアルの範囲外です。クラスは、複数のタスクがその一部となり得るプロジェクトを表現します。ひとつのプロジェクトには、そのプロジェクト内のタスクにアサインすることのできるメンバーのリストも存在します。}}あるプロジェクトには、ひとつの名前、格納されるひとつのフォルダ、そして複数のメンバーが存在します。あることが分かります。して定義することで、関連も定義しました。これは、それぞれのユーザは複数のプロジェクトのメンバーになれること、そしてそれぞれのプロジェクトは複数のメンバーを保持できることを意味します。メソッドも実装しました。多対多の関連は明示的に保存する必要があることに注意してください。プロパティを実質的に設定していないことにも注目してください。生成させているからです。最後に、特定のユーザを含むすべてのプロジェクトを探すもうひとつのクエリメソッドを実装しました。プロパティを参照していることが分かるでしょう。