当多个应用程序在Ruby中共享同一个数据库时,如何管理迁移?

B S*_*ven 6 ruby activerecord ruby-on-rails database-migration sinatra

我有一个Rails应用程序和一个Sinatra应用程序,共享相同的数据库.Sinatra应用程序使用ActiveRecord.

我可以在每个应用中运行迁移,就好像它们位于同一个应用中一样吗?这会导致任何问题吗?

Rails应用程序中的schema.rb文件跟踪当前的迁移

ActiveRecord::Schema.define(:version => 20121108154656) do
Run Code Online (Sandbox Code Playgroud)

但是,Sinatra应用程序如何知道数据库的当前版本?

Rails 3.2.2,Ruby 1.9.3.

B S*_*ven 0

我决定将所有迁移放入 Rails 应用程序中,因为:

  1. 由于只有一个数据库
  2. Rails 管理迁移

这效果很好。

这简化了系统,因为所有迁移都存储在一个位置。而且,Sinatra 应用程序无论如何都不需要了解它们。