aoi-tatekawa
@aoi-tatekawa (aoi tatekawa)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

SQLite3::SQLException: no such table: usersについて

Q&A

Closed

解決したいこと

rails db:migrateを実行しようとすると上記のエラーが発生しています。
ローカル環境で動かしているときにはエラーは発生しなかったのですが、AWSでデプロイ後にいきなり発生しています。

発生している問題・エラー

SQLite3::SQLException: no such table: users

== 20211129075302 CreateUsers: migrating ======================================
-- create_table(:users)
-- add_column(:users, :prefecture_id, :integer)
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: no such table: users

該当するコード

  def change
    create_table :users do |t|
      t.string :name
      t.string :email
      add_column :users, :prefecture_id, :integer
      t.timestamps
    end
  end
end
ActiveRecord::Schema.define(version: 2021_12_27_123957) do

  create_table "addersses", force: :cascade do |t|
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
  end

  create_table "cities", force: :cascade do |t|
    t.string "name"
    t.integer "prefecture_id"
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
  end

  create_table "microposts", force: :cascade do |t|
    t.text "content"
    t.integer "user_id", null: false
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
    t.index ["user_id", "created_at"], name: "index_microposts_on_user_id_and_created_at"
    t.index ["user_id"], name: "index_microposts_on_user_id"
  end

  create_table "users", force: :cascade do |t|
    t.string "name"
    t.string "email"
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
    t.string "password_digest"
    t.boolean "admin", default: false
    t.integer "prefecture_id"
    t.text "introduction"
    t.index ["email"], name: "index_users_on_email", unique: true
  end

  add_foreign_key "microposts", "users"
end
database.yml

default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

test:
  <<: *default
  database: db/test.sqlite3

production:
  <<: *default
  database: db/production.sqlite3
  username: root
  password: <%= ENV['DATABASE_PASSWORD'] %>
  socket: /var/lib/mysql/mysql.sock

自分で試したこと

usersテーブル周辺でエラーが発生していると思ったので周辺の確認はしましたが、解決には至りませんでした。

最後に

初歩的な質問で失礼だと思いますが、わかる方おられましたら、回答よろしくお願いします。

0

1Answer

自己解決致しました!!
恥ずかしい話ですが、create_table :usersの記述ミスでした。
add_column :users, :prefecture_id, :integerの場所を変更することで解決できました。

0Like

Your answer might help someone💌