2009-07-01 7 views
1

J'essaye d'installer des migrations dans Ramaze. Je viens surtout de Rails, mais je voulais donner quelque chose d'autre. Quoi qu'il en soit, j'ai un répertoire dans mon projet appelé "migrations" avec un fichier start.rb puis mes migrations. Voici ce start.rb:Ramaze avec Sequel Migrations?

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

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

Maintenant, tout d'abord, je ne sais pas pourquoi je ne peux pas faire

Sequel::Model.plugin(:migration) 

au lieu de nécessitant une longue durée, mais il semble fonctionner, donc je ne m'inquiète pas trop. Le problème principal est qu'aucune de mes migrations ne fonctionne réellement. Il crée la table schema_info, donc je sais que c'est qui essaie pour fonctionner, mais il ne trouve tout simplement pas mon fichier 000_initial_info.rb qui se trouve dans le même répertoire.

Je n'ai pas vraiment trouvé de documentation à ce sujet, donc c'est ma propre solution. J'adorerais entendre d'autres solutions si je me trompe. Merci pour toute aide!

Répondre

2

Vous ne pouvez pas utiliser Sequel :: Model.plugin. migration parce que la migration n'est pas un plugin modèle, il est une extension de base Cela fonctionne:

Sequel.extension: migration

Sequel est livré avec le bac/outil de suite que vous pouvez utiliser pour exécuter les migrations avec le commutateur -m:

suite -m/chemin/vers/app/migrations

Sauf si vous avez des besoins spéciaux, je recommande d'utiliser cela. L'un des problèmes avec votre configuration est peut-être que vous avez commencé vos migrations à 000. Lancez-les à 001 et cela peut fonctionner mieux.

Il y a documentation rdoc pour la Migrator:

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

+0

Je pensais utiliser cet outil, mais je n'aime pas l'idée de spécifier mes paramètres de connexion à la base de données sur la ligne de commande quand je les ai déjà écrits dans mon fichier init. De plus, j'aime avoir accès à l'ensemble de l'application dans mes migrations (style Rails). C'était ma numérotation folle qui était en train de tout gâcher! Je numérote toujours les choses en commençant par 0.: D Maintenant cela fonctionne parfaitement. Merci! –

0

Voici ma solution:.

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

Run "rake -T" pour voir les différents db et la migration des tâches que j'ai écrit »

J'utilise cette "expérimentale" comme mon Ramaze . modèle de projet au moment

+0

qui ressemble vraiment agréable. Merci! –

Questions connexes