Ruby `运行迁移时,schema.rb`被清除并设置为版本'0'
我有几个迁移和一个现有的Ruby `运行迁移时,schema.rb`被清除并设置为版本'0',ruby,ruby-on-rails-4,rails-migrations,Ruby,Ruby On Rails 4,Rails Migrations,我有几个迁移和一个现有的schema.rb。 我确实有一个需要的表,表中有记录,在开发过程中的某个时刻,我意识到我无法重新创建迁移 现在我遇到了一些奇怪的情况: 删除数据库并重新运行迁移时,不会引发异常,但不会列出迁移,也不会创建表: $ bin/rake db:drop $ bin/rake db:create $ bin/rake db:migrate 但是,当我运行迁移时,schema.rb以前包含所有创建的表,现在看起来如下所示: ActiveRecord::Schema.defin
schema.rb
。
我确实有一个需要的表,表中有记录,在开发过程中的某个时刻,我意识到我无法重新创建迁移
现在我遇到了一些奇怪的情况:
$ bin/rake db:drop
$ bin/rake db:create
$ bin/rake db:migrate
schema.rb
以前包含所有创建的表,现在看起来如下所示:
ActiveRecord::Schema.define(version: 0) do
end
schema.rb
以及迁移
这是我的数据库。yml
:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: dev_db
pool: 5
username: root
password:
host: localhost
更新:
我可以通过运行bin/rake db:schema:load
重新创建数据库。但是,一旦我再次运行迁移,整个过程都会恢复,所有迁移都会降级,最后我会再次得到一个空的schema.rb
:
$ bin/rails g migration AddBubuToUser bubu:string
invoke active_record
create db/migrate/20151203104243_add_bubu_to_user.rb
$ bin/rake db:migrate
== 20151203092755 RemoveNameFromUser: reverting ===============================
-- add_column(:users, :name, :string)
-> 0.0179s
== 20151203092755 RemoveNameFromUser: reverted (0.0215s) ======================
== 20151203092753 AddNameToUser: reverting ====================================
-- remove_column(:users, :last_name, :string)
-> 0.0188s
-- remove_column(:users, :first_name, :string)
-> 0.0176s
== 20151203092753 AddNameToUser: reverted (0.0369s) ===========================
== 20151203091637 AddRoleToUsers: reverting ===================================
-- remove_column(:users, :role, :integer)
-> 0.0253s
== 20151203091637 AddRoleToUsers: reverted (0.0256s) ==========================
== 20151203091630 AddNameToUsers: reverting ===================================
-- remove_column(:users, :name, :string)
-> 0.0125s
== 20151203091630 AddNameToUsers: reverted (0.0128s) ==========================
== 20151203091627 DeviseCreateUsers: reverting ================================
-- remove_index(:users, {:column=>:reset_password_token})
-> 0.0214s
-- remove_index(:users, {:column=>:email})
-> 0.0200s
-- drop_table(:users)
-> 0.0010s
== 20151203091627 DeviseCreateUsers: reverted (0.0432s) =======================