Rom-sql Rake任务

时间:2015-05-14 05:37:35

标签: rake roda rom-sql

我正在尝试使用'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

2 个答案:

答案 0 :(得分: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]

并在文件中创建,您可以添加迁移。

多数人

答案 1 :(得分:0)

你可能想尝试一下:

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

ROM::SQL::Migration.create do
  # ...
end