From d8b3f43b3b773f20564098dd14d7657df01b9bd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janko=20Marohni=C4=87?= Date: Sun, 19 Nov 2023 18:01:55 +0100 Subject: [PATCH] Set `convert_id_token_to_integer?` to avoid DB queries on boot Closes #244 --- CHANGELOG.md | 4 ++++ lib/generators/rodauth/install_generator.rb | 4 ++++ lib/generators/rodauth/templates/app/misc/rodauth_main.rb.tt | 2 ++ test/generators/install_generator_test.rb | 1 + 4 files changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c05c5eb..eb8eecc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## HEAD + +* Set `convert_token_id_to_integer?` in default configuration to avoid DB queries on boot (@janko) + ## 1.12.0 (2023-10-20) * Allow generating view template for `confirm_password` feature (igor-alexandrov) diff --git a/lib/generators/rodauth/install_generator.rb b/lib/generators/rodauth/install_generator.rb index 8e97528..15afe54 100644 --- a/lib/generators/rodauth/install_generator.rb +++ b/lib/generators/rodauth/install_generator.rb @@ -101,6 +101,10 @@ def argon2? options[:argon2] end + def primary_key_integer? + !::Rails.configuration.generators.options[:active_record][:primary_key_type] + end + def sequel_activerecord_integration? defined?(ActiveRecord::Railtie) && (!defined?(Sequel) || Sequel::DATABASES.empty?) diff --git a/lib/generators/rodauth/templates/app/misc/rodauth_main.rb.tt b/lib/generators/rodauth/templates/app/misc/rodauth_main.rb.tt index 78ba2af..853b2ad 100644 --- a/lib/generators/rodauth/templates/app/misc/rodauth_main.rb.tt +++ b/lib/generators/rodauth/templates/app/misc/rodauth_main.rb.tt @@ -20,6 +20,8 @@ class RodauthMain < Rodauth::Rails::Auth db Sequel.<%= sequel_adapter %>(extensions: :activerecord_connection, keep_reference: false) <% end -%> + convert_token_id_to_integer? <%= primary_key_integer? %> + <% end -%> # Change prefix of table and foreign key column names from default "account" <% if table -%> diff --git a/test/generators/install_generator_test.rb b/test/generators/install_generator_test.rb index b504bcb..e0e126d 100644 --- a/test/generators/install_generator_test.rb +++ b/test/generators/install_generator_test.rb @@ -37,6 +37,7 @@ class InstallGeneratorTest < Rails::Generators::TestCase else assert_file "app/misc/rodauth_main.rb", %r{Sequel\.sqlite\(extensions: :activerecord_connection.*\)} end + assert_file "app/misc/rodauth_main.rb", /convert_token_id_to_integer\? true/ end test "app" do