Class: SequelRails3::Railtie
- Inherits:
-
Rails::Railtie
- Object
- Rails::Railtie
- SequelRails3::Railtie
- Defined in:
- lib/sequel_rails3/railtie.rb
Class Method Summary collapse
- .migrate_to(version) ⇒ Object
- .migrator ⇒ Object
- .read_schema ⇒ Object
- .schema(action) ⇒ Object
- .schema_file ⇒ Object
Class Method Details
.migrate_to(version) ⇒ Object
39 40 41 |
# File 'lib/sequel_rails3/railtie.rb', line 39 def self.migrate_to(version) Sequel::IntegerMigrator.apply(db, File.join(Rails.root, 'db', 'migrate'), version) end |
.migrator ⇒ Object
35 36 37 |
# File 'lib/sequel_rails3/railtie.rb', line 35 def self.migrator Sequel::IntegerMigrator.new(db, File.join(Rails.root, 'db', 'migrate')) end |
.read_schema ⇒ Object
66 67 68 69 70 71 |
# File 'lib/sequel_rails3/railtie.rb', line 66 def self.read_schema data = File.read(schema_file) version = data.match(/# Database schema version: (\d+)\n/)[1] raise RuntimeError, "unable to determine schema version from schema file" unless version [data, version.to_i] end |
.schema(action) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/sequel_rails3/railtie.rb', line 43 def self.schema(action) case action when :dump File.open(schema_file, "w") do |f| f.write("# Database schema version: #{migrator.current}\n") f.write(db.dump_schema_migration) end when :up migration, version = read_schema eval(migration).apply(db, :up) db[:schema_info].insert(:version => version) when :down migration = db.dump_schema_migration eval(migration).apply(db, :down) else raise ArgumentError, "invalid schema action '#{action}'" end end |
.schema_file ⇒ Object
62 63 64 |
# File 'lib/sequel_rails3/railtie.rb', line 62 def self.schema_file File.join(Rails.root, 'db', 'schema.rb') end |