Sha256: 218d75a972156c39d911b9aecd540a04c5658168e8e6bc03ca9e757d4c4dbf19

Contents?: true

Size: 981 Bytes

Versions: 7

Compression:

Stored size: 981 Bytes

Contents

require 'dm-migrations/sql/table'

module SQL
  module Sqlite

    def supports_schema_transactions?
      true
    end

    def table(table_name)
      SQL::Sqlite::Table.new(self, table_name)
    end

    def recreate_database
      DataMapper.logger.info "Dropping #{@uri.path}"
      system "rm #{@uri.path}"
      # do nothing, sqlite will automatically create the database file
    end

    def table_options
      ''
    end

    def supports_serial?
      true
    end

    class Table < SQL::Table
      def initialize(adapter, table_name)
        @columns = []
        adapter.table_info(table_name).each do |col_struct|
          @columns << SQL::Sqlite::Column.new(col_struct)
        end
      end
    end

    class Column < SQL::Column
      def initialize(col_struct)
        @name, @type, @default_value, @primary_key = col_struct.name, col_struct.type, col_struct.dflt_value, col_struct.pk

        @not_null = col_struct.notnull == 0
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
dm-migrations-1.0.2 lib/dm-migrations/sql/sqlite.rb
dm-migrations-1.0.1 lib/dm-migrations/sql/sqlite.rb
dm-hibernate-migrations-1.0.0 lib/dm-migrations/sql/sqlite.rb
dm-migrations-1.0.0 lib/dm-migrations/sql/sqlite.rb
dm-migrations-1.0.0.rc3 lib/dm-migrations/sql/sqlite.rb
dm-migrations-1.0.0.rc2 lib/dm-migrations/sql/sqlite.rb
dm-migrations-1.0.0.rc1 lib/dm-migrations/sql/sqlite.rb