2009-07-01 9 views
1

Я пытаюсь получить миграцию, созданную в Рамазе. Я прихожу от большинства вещей Rails, но я хотел дать что-то еще выстрел. Во всяком случае, у меня есть каталог в моем проекте под названием «migrations» с файлом start.rb, а затем мои миграции. Вот start.rb:Ramaze с продолжением миграции?

require File.expand_path('../app.rb', File.dirname(__FILE__)) 
require 'sequel/extensions/migration.rb' 

Sequel::Migrator.apply(DB, '.') 

Теперь, в первую очередь, я не знаю, почему я не могу просто сделать

Sequel::Model.plugin(:migration) 

вместо того, что давно требуют, но это, кажется, работает, поэтому я не слишком беспокоюсь об этом. Основная проблема заключается в том, что ни одна из моих миграций не выполняется. Он создает таблицу schema_info, поэтому я знаю, что пытается работать, но он просто не может найти мой файл 000_initial_info.rb, который находится прямо в том же каталоге.

Я не мог найти документацию по этому вопросу, так что это мое собственное решение. Я бы тоже хотел услышать другие решения, если я просто ошибаюсь. Спасибо за любую помощь!

ответ

2

Вы не можете использовать Sequel :: Model.plugin:. миграции, поскольку миграция не является моделью плагин, это расширение ядра Это будет работать:

Sequel.extension: миграция

Sequel поставляется с инструментом бен/сиквела, который можно использовать для запуска миграции с -m переключатель:

сиквела -m/путь/к/приложение/Миграции

Если у вас нет особых требований, я рекомендую использовать это.

Одна из проблем с настройкой может заключаться в том, что вы начали свои миграции на 000. Запустите их в 001, и это может работать лучше.

Там в RDoc документации для Migrator:

http://sequel.rubyforge.org/rdoc-plugins/classes/Sequel/Migrator.html

+0

Я рассматривал возможность использования этого инструмента, но мне не нравится идея указать параметры подключения к базе данных в командной строке, когда я уже написал их в своем файле инициализации. Кроме того, мне нравится иметь доступ ко всему приложению в моих миграциях (стиль Rails). Это была моя сумасшедшая нумерация, которая закручивала все! Я всегда делаю цифры, начиная с 0.: D Теперь он отлично работает. Благодаря! –

0

Вот мое решение:.

http://github.com/mwlang/ramaze-sequel-proto-experimental

Run «грабли -T», чтобы увидеть различные БД и переносить задачи, которые я написал»

Я использую это„экспериментальный“, как мой ramaze . шаблон проекта на данный момент

+0

Это выглядит очень красиво. Благодаря! –

Смежные вопросы