Rom-sql Rake Task

Я пытаюсь настроить миграцию с помощью 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 ответа

Решение

Полный пример: 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 (рейк -T), чтобы перечислить их,

а потом

$ rake db:create_migration[any_name]

и в файл, который он создаст, вы можете добавить свою миграцию.

Это все

Вы можете попробовать:

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

ROM::SQL::Migration.create do
  # ...
end
Другие вопросы по тегам