# File lib/dm-migrations/sql/postgres.rb, line 44 44: def initialize(adapter, table_name) 45: @adapter, @name = adapter, table_name 46: @columns = [] 47: adapter.query_table(table_name).each do |col_struct| 48: @columns << SQL::Postgres::Column.new(col_struct) 49: end 50: 51: query_column_constraints 52: end
# File lib/dm-migrations/sql/postgres.rb, line 54 54: def query_column_constraints 55: @adapter.select( 56: "SELECT * FROM information_schema.table_constraints WHERE table_name='#{@name}' AND table_schema=current_schema()" 57: ).each do |table_constraint| 58: @adapter.select( 59: "SELECT * FROM information_schema.constraint_column_usage WHERE constraint_name='#{table_constraint.constraint_name}' AND table_schema=current_schema()" 60: ).each do |constrained_column| 61: @columns.each do |column| 62: if column.name == constrained_column.column_name 63: case table_constraint.constraint_type 64: when "UNIQUE" then column.unique = true 65: when "PRIMARY KEY" then column.primary_key = true 66: end 67: end 68: end 69: end 70: end 71: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.