Sha256: b389d09058face38c7bedba645288d822ea434d2cf5e612c8da0e3be0e9b57ea

Contents?: true

Size: 1.89 KB

Versions: 3

Compression:

Stored size: 1.89 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
require 'spatial_adapter/mysql'

class MigratedGeometryModel < ActiveRecord::Base
end

describe "Spatially-enabled Migrations" do
  before :each do
    mysql_connection
    @connection = ActiveRecord::Base.connection
  end
  
  describe "creating tables" do
    after :each do
      @connection.drop_table "migrated_geometry_models"
    end
    
    SpatialAdapter.geometry_data_types.keys.each do |type|
      it "should create #{type.to_s} columns" do
        ActiveRecord::Schema.define do
          create_table :migrated_geometry_models, :force => true do |t|
            t.integer :extra
            t.send(type, :geom)
          end
        end

        geom_column = @connection.columns(:migrated_geometry_models).select{|c| c.name == 'geom'}.first
        geom_column.should be_a(SpatialAdapter::SpatialColumn)
        geom_column.geometry_type.should == type
        geom_column.type.should == :string
      end
    end
  end

  describe "adding columns" do
    before :each do
      ActiveRecord::Schema.define do
        create_table :migrated_geometry_models, :force => true do |t|
          t.integer :extra
        end
      end
    end
    
    after :each do
      @connection.drop_table "migrated_geometry_models"
    end

    SpatialAdapter.geometry_data_types.keys.each do |type|
      it "should add #{type.to_s} columns" do
        ActiveRecord::Schema.define do
          add_column :migrated_geometry_models, :geom, type
        end

        geom_column = @connection.columns(:migrated_geometry_models).select{|c| c.name == 'geom'}.first
        geom_column.should be_a(SpatialAdapter::SpatialColumn)
        geom_column.geometry_type.should == type
        geom_column.type.should == :string
        geom_column.with_z.should == false
        geom_column.with_m.should == false
        geom_column.srid.should == -1
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
spatial_adapter-1.1.2 spec/mysql/migration_spec.rb
spatial_adapter-1.1.1 spec/mysql/migration_spec.rb
spatial_adapter-1.1.0 spec/mysql/migration_spec.rb