I see the following in the `spec/dummy/config/database.yml`:
```
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
```
So, I've generated a migration
`db/migrate/20210216160820_add_sample_engine_grommets.rb` and added a
model `app/models/sample_engine/grommet.rb`
After that, I've run migrations for development env:
```
== 20210215210420 CreateSampleEngineWidgets: migrating ========================
-- create_table(:sample_engine_widgets)
-> 0.0055s
== 20210215210420 CreateSampleEngineWidgets: migrated (0.0057s) ===============
== 20210216160820 AddSampleEngineGrommets: migrating ==========================
-- create_table(:sample_engine_grommets)
-> 0.0039s
== 20210216160820 AddSampleEngineGrommets: migrated (0.0040s) =================
```
DBs reside in
spec/dummy/db/development.sqlite3
spec/dummy/db/test.sqlite3
I was surely getting the same message as you:
```
Migrations are pending. To resolve this issue, run:
bin/rails db:migrate RAILS_ENV=test
You have 1 pending migration:
20210215210420_create_sample_engine_widgets.rb
```
```
bundle exec rails db:schema:load RAILS_ENV=test
```
After that, `rspec` runs just fine:
```
$ rspec
Warning: the running version of Bundler (2.1.4) is older than the
version that created the lockfile (2.2.3). We suggest you to upgrade
to the version that created the lockfile by running `gem install
bundler:2.2.3`.
*
Pending: (Failures listed here are expected and do not affect your
suite's status)
1) SampleEngine::Widget add some examples to (or delete)
/Users/pirj/source/tmp/sample_engine/spec/models/sample_engine/widget_spec.rb
# Not yet implemented
# ./spec/models/sample_engine/widget_spec.rb:5
Finished in 0.00592 seconds (files took 2.1 seconds to load)
1 example, 0 failures, 1 pending
```
To double-check, I've added `spec/models/sample_engine/grommet_spec.rb`:
```
require 'rails_helper'
module SampleEngine
RSpec.describe Grommet, type: :model do
it do
Grommet.create(name: 'hello')
expect(Grommet.count).to eq(1)
end
end
end
```
and it passes just fine.
Well, only for the first time, because `use_transactional_fixtures` is off.
Hope all that helps.
- Phil