Skip to content
This repository was archived by the owner on Feb 26, 2026. It is now read-only.
This repository was archived by the owner on Feb 26, 2026. It is now read-only.

Receive NoMethodError when trying to register new tool #3

@tmciver-mhe

Description

@tmciver-mhe

This issue is seen when clicking the 'Update' button for the tool registration process described in step 11 of the "Getting It Running" section of the README.

lti2-reference-issue

I tried to resolve the issue by resetting the databases back to a clean state by issuing the command bundle exec rake db:seed in each application directory. When run in the tp_sample_app directory, it aborted with a messages stating that there was 1 pending migration.

I then ran the command bundle exec rake db:migrate which resulted in the following:

~/workspace/lti/LTI2-Reference/tp_sample_app/db$ bundle exec rake db:migrate
(in /home/tim/workspace/lti/LTI2-Reference/tp_sample_app)
==  CreateLti2TpRegistries: migrating =========================================
-- create_table(:lti2_tp_registrations)
rake aborted!
An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: table "lti2_tp_registrations" already exists: CREATE TABLE "lti2_tp_registrations" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "tenant_key" varchar(255), "tenant_name" varchar(255), "tenant_id" integer, "user_id" varchar(255), "reg_key" varchar(255), "reg_password" varchar(255), "tc_profile_url" varchar(255), "launch_presentation_return_url" varchar(255), "status" varchar(255), "message_type" varchar(255), "tool_consumer_profile_json" text, "tool_profile_json" text, "tool_proxy_json" text, "tool_id" integer, "lti_version" varchar(255), "end_registration_id" varchar(255), "proposed_tool_proxy" text, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) /var/lib/gems/1.9.1/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `initialize'
/var/lib/gems/1.9.1/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `new'
/var/lib/gems/1.9.1/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `prepare'
/var/lib/gems/1.9.1/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:134:in `execute'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/connection_adapters/sqlite_adapter.rb:278:in `block in execute'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/connection_adapters/abstract_adapter.rb:280:in `block in log'
/var/lib/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/connection_adapters/abstract_adapter.rb:275:in `log'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/connection_adapters/sqlite_adapter.rb:278:in `execute'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/connection_adapters/abstract/schema_statements.rb:170:in `create_table'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:466:in `block in method_missing'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:438:in `block in say_with_time'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:438:in `say_with_time'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:458:in `method_missing'
/home/tim/workspace/lti/LTI2-Reference/tp_sample_app/db/migrate/20141020133931_create_lti2_tp_registries.lti2_tp.rb:4:in `change'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:407:in `block (2 levels) in migrate'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:407:in `block in migrate'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:123:in `with_connection'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:389:in `migrate'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:528:in `migrate'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:720:in `block (2 levels) in migrate'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:775:in `call'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:775:in `block in ddl_transaction'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/transactions.rb:208:in `transaction'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:775:in `ddl_transaction'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:719:in `block in migrate'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:700:in `each'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:700:in `migrate'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:570:in `up'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/migration.rb:551:in `migrate'
/var/lib/gems/1.9.1/gems/activerecord-3.2.6/lib/active_record/railties/databases.rake:153:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

I then renamed the development.sqlite file and reran the migrate command which seemed to work. Unfortunately, when I tried to register a tool, I saw the following screenshot:

lti2-reference-issue-2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions