在rails控制台中创建实际的数据库表时,
User.table_exists?
没有给我正确的结果。
ActiveRecord::Base.connection.tables
它表明表存在。我必须离开
rails console
然后再回去
给我正确的值。有什么缓存吗?Rails5.2.1中的一个bug?还是我遗漏了什么?
要复制的代码:
rails generate model User name:string
rails console
轨道控制台
User.table_exists? => false
ActiveRecord::Base.connection.tables => []
ActiveRecord::Migration[5.2].create_table :users =>
-- create_table(:users)
(0.1ms) SELECT sqlite_version(*)
(1.5ms) CREATE TABLE "users" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL)
ActiveRecord::Base.connection.tables => ["users"]
User.table_exists? => false
exit
在里面
终端/bash
rails console
在里面
轨道控制台
User.table_exists? => true
使用:
红宝石2.5.0
轨道5.2.1