1

我正在尝试使用“rom/sql/rake_task”设置迁移。

这是我的示例,但遗憾的是它无法正常工作,因为它抱怨缺少续集适配器。任何帮助或方向将不胜感激?

require 'sqlite3'
require 'rom-sql'
require 'rom/sql/rake_task'

namespace :db do
  task :setup do
    ROM.setup(:sql, 'sqlite_memory')
    ROM.finalize

    ROM::SQL.migration do
      change do
        create_table(:users) do
          primary_key :id
          String :name
        end
      end
    end
  end
end
4

2 回答 2

3

完整示例:https ://github.com/gotar/sinatra-rom

添加后

require 'bundler/setup'
require 'rom/sql/rake_task'

task :setup do
  # Load ROM related stuff. You don't need to specify manually connection
end

到 Rakefile 你会得到一些 Raketasks (rake -T) 来列出它们,

接着

$ rake db:create_migration[any_name]

在它将创建的文件中,您可以添加您的迁移。

就这样

于 2015-05-14T06:35:07.830 回答
0

你可能想试试:

ROM::SQL::Migration.connection = ROM.setup(:sql, 'sqlite_memory').default.connection
ROM.finalize.env

ROM::SQL::Migration.create do
  # ...
end
于 2015-05-14T05:44:14.367 回答