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