Hi all!
Detailed version info at the bottom.
On a new app, I'm trying sequel-rails. It seems that Sequel::Model classes
eagerly attempt to read their table schema. This prevents deployment to
Heroku as asset precompilation happens before migrations, and asset
precompilation must boot the app.
The order of operations seems to be similar to the following:
bin/rails g model person name:text
bin/rails db:migrate
git add --all
git commit --message "Person model"
git push heroku
- bin/rails assets:precompile
- Rails eagerly loads models, because RAILS_ENV=production
- Person attempts to read the table schema
- PG correctly raises an exception, as the table does not exist
I did define release in my Procfile, but migrations are run after asset
precompilation.
As a test, I changed config/environments/production.rb to set eager_load to
false, alas, to no effect.
I searched this group's archive with "sequel model eager load schema", but
that only matched release announcements. DuckDuckGo also returns a bunch of
results about Sequelize, EntityFramework and other tools. The search terms
are probably too generic. I read the Sequel::Model documentation as well,
but didn't find anything that seemed relevant.
Is there a way to tell Sequel::Model instances to delay trying to read the
schema? Failing that, would you have other workarounds?
Thanks a bunch!
François
--- Version informations
* sequel (5.37.0)
* sequel-rails (1.1.1)
* rails (6.0.3.4)
--- Heroku build log
-----> Ruby app detected
-----> Installing bundler 2.1.4
-----> Removing BUNDLED WITH version in the Gemfile.lock
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.7.2
-----> Installing dependencies using bundler 2.1.4
Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle
BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 bundle install -j4
The dependency tzinfo-data (>= 0) will be unused by any of the
platforms Bundler is installing for. Bundler is installing for ruby but the
dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add
those platforms to the bundle, run `bundle lock --add-platform x86-mingw32
x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/............
Fetching https://github.com/dry-rb/dry-schema.git
Fetching https://github.com/dry-rb/dry-validation.git
Fetching https://github.com/dry-rb/dry-transaction.git
Using rake 13.0.1
Using concurrent-ruby 1.1.7
Using minitest 5.14.2
Using thread_safe 0.3.6
Using zeitwerk 2.4.0
Using builder 3.2.4
Using erubi 1.9.0
Using mini_portile2 2.4.0
Using crass 1.0.6
Using rack 2.2.3
Using nio4r 2.5.4
Using websocket-extensions 0.1.5
Using mimemagic 0.3.5
Using mini_mime 1.0.2
Using msgpack 1.3.3
Using bundler 2.1.4
Using dry-equalizer 0.3.0
Using dry-inflector 0.2.0
Using dry-initializer 3.0.4
Using ice_nine 0.11.2
Using raabro 1.4.0
Using hashie 4.1.0
Using method_source 1.0.0
Using ruby2_keywords 0.0.2
Using pg 1.2.3
Using que 1.0.0.beta4
Using tilt 2.0.10
Using thor 1.0.1
Using semantic_range 2.3.0
Using sequel 5.37.0
Using turbolinks-source 5.2.0
Using tzinfo 1.2.7
Using nokogiri 1.10.10
Using rack-test 1.1.0
Using websocket-driver 0.7.3
Using marcel 0.3.3
Using mail 2.7.1
Using bootsnap 1.4.8
Using puma 5.0.2
Using rack-protection 2.1.0
Using rack-proxy 0.6.5
Using i18n 1.8.5
Using dry-core 0.4.9
Using mustermann 1.1.1
Using sprockets 4.0.2
Using loofah 2.7.0
Using et-orbi 1.2.4
Using sequel_pg 1.14.0
Using turbolinks 5.2.1
Using activesupport 6.0.3.4
Using rails-html-sanitizer 1.3.0
Using dry-configurable 0.11.6
Using dry-logic 1.0.8
Fetching dry-matcher 0.8.3
Fetching dry-events 0.2.0
Fetching dry-monads 1.3.5
Installing dry-matcher 0.8.3
Installing dry-monads 1.3.5
Installing dry-events 0.2.0
Using fugit 1.3.9
Using sinatra 2.1.0
Using rails-dom-testing 2.0.3
Using globalid 0.4.2
Using activemodel 6.0.3.4
Using dry-container 0.7.2
Using actionview 6.0.3.4
Using activejob 6.0.3.4
Using activerecord 6.0.3.4
Using dry-auto_inject 0.7.0
Using dry-types 1.4.0
Using que-scheduler 3.4.2
Using que-web 0.9.3
Using actionpack 6.0.3.4
Using dry-schema 1.5.5 from https://github.com/dry-rb/dry-schema.git
(at master@670859a)
Using dry-struct 1.3.0
Using actioncable 6.0.3.4
Using activestorage 6.0.3.4
Using actionmailer 6.0.3.4
Using railties 6.0.3.4
Using sprockets-rails 3.2.2
Using dry-validation 1.5.6 from
https://github.com/dry-rb/dry-validation.git (at master@9b03b9e)
Using dry-system 0.18.1
Using actionmailbox 6.0.3.4
Using actiontext 6.0.3.4
Using sequel-rails 1.1.1
Using webpacker 5.2.1
Using rails 6.0.3.4
Using dry-rails 0.3.0 from https://github.com/dry-rb/dry-rails.git
(at master@423f934)
Using dry-transaction 0.13.0 from
https://github.com/dry-rb/dry-transaction.git (at master@83e4e65)
Bundle complete! 28 Gemfile dependencies, 86 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `./vendor/bundle`
Removing dry-schema (1.5.5)
Removing jbuilder (2.10.1)
Removing dry-validation (1.5.6)
Bundle completed (4.55s)
Cleaning up the bundler cache.
-----> Installing node-v12.16.2-linux-x64
-----> Installing yarn-v1.22.4
-----> Detecting rake tasks
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
yarn install v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this
module.
info "[email protected]" is an optional dependency and failed
compatibility check. Excluding it from installation.
info [email protected]: The platform "linux" is incompatible with this
module.
info "[email protected]" is an optional dependency and failed
compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > [email protected]" has unmet peer dependency
"webpack@^4.0.0 || ^5.0.0".
warning "webpack-dev-server > [email protected]" has
unmet peer dependency "webpack@^4.0.0".
[4/4] Building fresh packages...
Done in 28.14s.
D, [2020-10-14T20:15:21.498085 #507] DEBUG -- :
Sequel::Postgres::Database (0.6ms) SET standard_conforming_strings = ON
D, [2020-10-14T20:15:21.498744 #507] DEBUG -- :
Sequel::Postgres::Database (0.5ms) SET client_min_messages = 'WARNING'
D, [2020-10-14T20:15:21.499348 #507] DEBUG -- :
Sequel::Postgres::Database (0.5ms) SET DateStyle = 'ISO'
D, [2020-10-14T20:15:21.765301 #507] DEBUG -- :
Sequel::Postgres::Database (13.0ms) SELECT
CAST(current_setting('server_version_num') AS integer) AS v
D, [2020-10-14T20:15:21.796176 #507] DEBUG -- :
Sequel::Postgres::Database (29.8ms) SELECT "pg_attribute"."attname" AS
"name", CAST("pg_attribute"."atttypid" AS integer) AS "oid",
CAST("basetype"."oid" AS integer) AS "base_oid",
format_type("basetype"."oid", "pg_type"."typtypmod") AS "db_base_type",
format_type("pg_type"."oid", "pg_attribute"."atttypmod") AS "db_type",
pg_get_expr("pg_attrdef"."adbin", "pg_class"."oid") AS "default", NOT
"pg_attribute"."attnotnull" AS "allow_null",
COALESCE(("pg_attribute"."attnum" = ANY("pg_index"."indkey")), false) AS
"primary_key", "pg_attribute"."attidentity", ("pg_attribute"."attgenerated"
!= '') AS "generated" FROM "pg_class" INNER JOIN "pg_attribute" ON
("pg_attribute"."attrelid" = "pg_class"."oid") INNER JOIN "pg_type" ON
("pg_type"."oid" = "pg_attribute"."atttypid") LEFT OUTER JOIN "pg_type" AS
"basetype" ON ("basetype"."oid" = "pg_type"."typbasetype") LEFT OUTER JOIN
"pg_attrdef" ON (("pg_attrdef"."adrelid" = "pg_class"."oid") AND
("pg_attrdef"."adnum" = "pg_attribute"."attnum")) LEFT OUTER JOIN
"pg_index" ON (("pg_index"."indrelid" = "pg_class"."oid") AND
("pg_index"."indisprimary" IS TRUE)) WHERE (("pg_attribute"."attisdropped"
IS FALSE) AND ("pg_attribute"."attnum" > 0) AND ("pg_class"."oid" =
CAST(CAST('"people"' AS regclass) AS oid))) ORDER BY "pg_attribute"."attnum"
D, [2020-10-14T20:15:21.797871 #507] DEBUG -- :
Sequel::Postgres::Database (1.3ms) SELECT * FROM "people" LIMIT 1
rake aborted!
Sequel::DatabaseError: PG::UndefinedTable: ERROR: relation "people"
does not exist
LINE 1: SELECT * FROM "people" LIMIT 1
^
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:156:in
`exec'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:156:in
`block in execute_query'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-rails-1.1.1/lib/sequel_rails/sequel/database/active_support_notification.rb:17:in
`block in log_connection_yield'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/notifications.rb:180:in
`block in instrument'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/notifications/instrumenter.rb:24:in
`instrument'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/notifications.rb:180:in
`instrument'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-rails-1.1.1/lib/sequel_rails/sequel/database/active_support_notification.rb:11:in
`log_connection_yield'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:156:in
`execute_query'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:144:in
`block in execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:120:in
`check_disconnect_errors'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:144:in
`execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:500:in
`_execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:318:in
`block (2 levels) in execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:522:in
`check_database_errors'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:318:in
`block in execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/connection_pool/threaded.rb:88:in
`hold'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/database/connecting.rb:270:in
`synchronize'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:318:in
`execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/dataset/actions.rb:1093:in
`execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:614:in
`fetch_rows'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/dataset/actions.rb:152:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel_pg-1.14.0/lib/sequel_pg/sequel_pg.rb:81:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/dataset/actions.rb:86:in
`columns!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/dataset/actions.rb:76:in
`columns'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:242:in
`columns'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:771:in
`block (2 levels) in get_db_schema'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:684:in
`block in check_non_connection_error'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/database/transactions.rb:201:in
`block in transaction'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/connection_pool/threaded.rb:92:in
`hold'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/database/connecting.rb:270:in
`synchronize'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/database/transactions.rb:195:in
`transaction'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:684:in
`check_non_connection_error'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:771:in
`block in get_db_schema'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:804:in
`get_db_schema'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:604:in
`set_dataset'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:852:in
`inherited'
/tmp/build_be02f284_/app/people/person.rb:3:in `<main>'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in
`block in require_with_bootsnap_lfi'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in
`register'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in
`require_with_bootsnap_lfi'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/container.rb:632:in
`require_path'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/container.rb:619:in
`require_component'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/auto_registrar.rb:39:in
`block in call'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/auto_registrar.rb:36:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/auto_registrar.rb:36:in
`call'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/container.rb:456:in
`auto_register!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:103:in
`block in auto_register!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:103:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:103:in
`auto_register!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:129:in
`block in finalize!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:128:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:128:in
`finalize!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/railtie.rb:60:in
`finalize!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/railtie.rb:190:in
`public_send'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/railtie.rb:190:in
`method_missing'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/railtie.rb:14:in
`block in <class:Railtie>'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:428:in
`instance_exec'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:428:in
`block in make_lambda'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:200:in
`block (2 levels) in halting'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:605:in
`block (2 levels) in default_terminator'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:604:in
`catch'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:604:in
`block in default_terminator'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:201:in
`block in halting'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:513:in
`block in invoke_before'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:513:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:513:in
`invoke_before'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:134:in
`run_callbacks'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/reloader.rb:88:in
`prepare!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/application/finisher.rb:113:in
`block in <module:Finisher>'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:32:in
`instance_exec'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:32:in
`run'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:61:in
`block in run_initializers'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:60:in
`run_initializers'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/application.rb:363:in
`initialize!'
/tmp/build_be02f284_/config/environment.rb:5:in `<main>'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in
`block in require_with_bootsnap_lfi'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in
`register'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in
`require_with_bootsnap_lfi'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:324:in
`block in require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:291:in
`load_dependency'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:324:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/application.rb:339:in
`require_environment!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/application.rb:523:in
`block in run_tasks_blocks'
Caused by:
PG::UndefinedTable: ERROR: relation "people" does not exist
LINE 1: SELECT * FROM "people" LIMIT 1
^
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:156:in
`exec'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:156:in
`block in execute_query'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-rails-1.1.1/lib/sequel_rails/sequel/database/active_support_notification.rb:17:in
`block in log_connection_yield'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/notifications.rb:180:in
`block in instrument'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/notifications/instrumenter.rb:24:in
`instrument'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/notifications.rb:180:in
`instrument'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-rails-1.1.1/lib/sequel_rails/sequel/database/active_support_notification.rb:11:in
`log_connection_yield'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:156:in
`execute_query'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:144:in
`block in execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:120:in
`check_disconnect_errors'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:144:in
`execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:500:in
`_execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:318:in
`block (2 levels) in execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:522:in
`check_database_errors'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:318:in
`block in execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/connection_pool/threaded.rb:88:in
`hold'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/database/connecting.rb:270:in
`synchronize'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:318:in
`execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/dataset/actions.rb:1093:in
`execute'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/adapters/postgres.rb:614:in
`fetch_rows'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/dataset/actions.rb:152:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel_pg-1.14.0/lib/sequel_pg/sequel_pg.rb:81:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/dataset/actions.rb:86:in
`columns!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/dataset/actions.rb:76:in
`columns'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:242:in
`columns'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:771:in
`block (2 levels) in get_db_schema'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:684:in
`block in check_non_connection_error'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/database/transactions.rb:201:in
`block in transaction'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/connection_pool/threaded.rb:92:in
`hold'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/database/connecting.rb:270:in
`synchronize'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/database/transactions.rb:195:in
`transaction'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:684:in
`check_non_connection_error'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:771:in
`block in get_db_schema'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:804:in
`get_db_schema'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:604:in
`set_dataset'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/sequel-5.37.0/lib/sequel/model/base.rb:852:in
`inherited'
/tmp/build_be02f284_/app/people/person.rb:3:in `<main>'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in
`block in require_with_bootsnap_lfi'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in
`register'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in
`require_with_bootsnap_lfi'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/container.rb:632:in
`require_path'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/container.rb:619:in
`require_component'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/auto_registrar.rb:39:in
`block in call'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/auto_registrar.rb:36:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/auto_registrar.rb:36:in
`call'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/dry-system-0.18.1/lib/dry/system/container.rb:456:in
`auto_register!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:103:in
`block in auto_register!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:103:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:103:in
`auto_register!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:129:in
`block in finalize!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:128:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/container.rb:128:in
`finalize!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/railtie.rb:60:in
`finalize!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/railtie.rb:190:in
`public_send'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/railtie.rb:190:in
`method_missing'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/bundler/gems/dry-rails-423f9340650f/lib/dry/rails/railtie.rb:14:in
`block in <class:Railtie>'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:428:in
`instance_exec'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:428:in
`block in make_lambda'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:200:in
`block (2 levels) in halting'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:605:in
`block (2 levels) in default_terminator'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:604:in
`catch'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:604:in
`block in default_terminator'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:201:in
`block in halting'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:513:in
`block in invoke_before'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:513:in
`each'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:513:in
`invoke_before'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/callbacks.rb:134:in
`run_callbacks'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/reloader.rb:88:in
`prepare!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/application/finisher.rb:113:in
`block in <module:Finisher>'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:32:in
`instance_exec'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:32:in
`run'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:61:in
`block in run_initializers'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/initializable.rb:60:in
`run_initializers'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/application.rb:363:in
`initialize!'
/tmp/build_be02f284_/config/environment.rb:5:in `<main>'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in
`block in require_with_bootsnap_lfi'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in
`register'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in
`require_with_bootsnap_lfi'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/kernel.rb:34:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:324:in
`block in require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:291:in
`load_dependency'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/dependencies.rb:324:in
`require'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/application.rb:339:in
`require_environment!'
/tmp/build_be02f284_/vendor/bundle/ruby/2.7.0/gems/railties-6.0.3.4/lib/rails/application.rb:523:in
`block in run_tasks_blocks'
Tasks: TOP => assets:precompile => webpacker:compile => environment
(See full trace by running task with --trace)
!
! Precompiling assets failed.
!
! Push rejected, failed to compile Ruby app.
! Push failed
--
You received this message because you are subscribed to the Google Groups
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sequel-talk/d8254ff3-3480-475d-bf57-0dffe602d37bn%40googlegroups.com.