Class DataMapper::Adapters::PostgresqlAdapter::Mappings::Column
In: lib/data_mapper/adapters/postgresql_adapter.rb
lib/data_mapper/adapters/postgresql_adapter.rb
Parent: Object

Methods

Public Instance methods

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 163
163:           def alter!
164:             result = super
165:             reset_alter_state!
166:             result
167:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 163
163:           def alter!
164:             result = super
165:             reset_alter_state!
166:             result
167:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 155
155:           def check_declaration
156:                 "CHECK (" << check << ")"
157:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 155
155:           def check_declaration
156:                 "CHECK (" << check << ")"
157:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 174
174:           def default=(value)
175:             @default_changed = true
176:             super
177:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 174
174:           def default=(value)
175:             @default_changed = true
176:             super
177:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 169
169:           def reset_alter_state!
170:             @type_changed = false
171:             @default_changed = false
172:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 169
169:           def reset_alter_state!
170:             @type_changed = false
171:             @default_changed = false
172:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 151
151:           def serial_declaration
152:             "SERIAL"
153:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 151
151:           def serial_declaration
152:             "SERIAL"
153:           end

size is still required, as length in postgres behaves slightly differently

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 246
246:           def size
247:             case self.type
248:             #strings in postgres can be unlimited length
249:             when :string then return (@options.has_key?(:length) || @options.has_key?(:size) ? @size : nil)
250:             else nil
251:             end
252:           end

size is still required, as length in postgres behaves slightly differently

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 246
246:           def size
247:             case self.type
248:             #strings in postgres can be unlimited length
249:             when :string then return (@options.has_key?(:length) || @options.has_key?(:size) ? @size : nil)
250:             else nil
251:             end
252:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 184
184:           def to_alter_form
185:             sql = to_sql.dup
186:             
187:             changes = 0
188:             
189:             if @type_changed
190:               changes += 1
191:               sql << " TYPE " << type_declaration
192:               case self.type
193:               when :integer then sql << " USING #{to_sql}::integer"
194:               when :datetime then
195:                 sql << " USING timestamp with time zone"
196:               end
197:             end
198:             
199:             if @default_changed
200:               sql << ", " if changes += 1 > 1
201:               
202:               if default.blank? || default_declaration.blank?
203:                 sql << " DROP DEFAULT"
204:               else
205:                 sql << " " << default_declaration
206:               end
207:             end
208:             
209:             sql
210:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 184
184:           def to_alter_form
185:             sql = to_sql.dup
186:             
187:             changes = 0
188:             
189:             if @type_changed
190:               changes += 1
191:               sql << " TYPE " << type_declaration
192:               case self.type
193:               when :integer then sql << " USING #{to_sql}::integer"
194:               when :datetime then
195:                 sql << " USING timestamp with time zone"
196:               end
197:             end
198:             
199:             if @default_changed
200:               sql << ", " if changes += 1 > 1
201:               
202:               if default.blank? || default_declaration.blank?
203:                 sql << " DROP DEFAULT"
204:               else
205:                 sql << " " << default_declaration
206:               end
207:             end
208:             
209:             sql
210:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 159
159:           def to_alter_sql
160:             "ALTER TABLE " <<  table.to_sql << " ALTER COLUMN " << to_alter_form
161:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 159
159:           def to_alter_sql
160:             "ALTER TABLE " <<  table.to_sql << " ALTER COLUMN " << to_alter_form
161:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 212
212:           def to_long_form
213:             @to_long_form || begin
214:               @to_long_form = "#{to_sql}"
215:               
216:               if serial? && !serial_declaration.blank?
217:                 @to_long_form << " #{serial_declaration}"
218:                 if key? && !primary_key_declaration.blank?
219:                   @to_long_form << " #{primary_key_declaration}"
220:                 end
221:               else
222:                 @to_long_form << " #{type_declaration}"
223:                 
224:                 unless nullable? || not_null_declaration.blank?
225:                   @to_long_form << " #{not_null_declaration}"
226:                 end
227:                 
228:                 if default && !default_declaration.blank?
229:                   @to_long_form << " #{default_declaration}"
230:                 end
231:                 
232:                 if unique? && !unique_declaration.blank?
233:                   @to_long_form << " #{unique_declaration}"
234:                 end
235:                 
236:                 if check && !check_declaration.blank?
237:                   @to_long_form << " #{check_declaration}"
238:                 end
239:               end
240:                       
241:               @to_long_form
242:             end
243:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 212
212:           def to_long_form
213:             @to_long_form || begin
214:               @to_long_form = "#{to_sql}"
215:               
216:               if serial? && !serial_declaration.blank?
217:                 @to_long_form << " #{serial_declaration}"
218:                 if key? && !primary_key_declaration.blank?
219:                   @to_long_form << " #{primary_key_declaration}"
220:                 end
221:               else
222:                 @to_long_form << " #{type_declaration}"
223:                 
224:                 unless nullable? || not_null_declaration.blank?
225:                   @to_long_form << " #{not_null_declaration}"
226:                 end
227:                 
228:                 if default && !default_declaration.blank?
229:                   @to_long_form << " #{default_declaration}"
230:                 end
231:                 
232:                 if unique? && !unique_declaration.blank?
233:                   @to_long_form << " #{unique_declaration}"
234:                 end
235:                 
236:                 if check && !check_declaration.blank?
237:                   @to_long_form << " #{check_declaration}"
238:                 end
239:               end
240:                       
241:               @to_long_form
242:             end
243:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 179
179:           def type=(value)
180:             @type_changed = true
181:             super
182:           end

[Source]

     # File lib/data_mapper/adapters/postgresql_adapter.rb, line 179
179:           def type=(value)
180:             @type_changed = true
181:             super
182:           end

[Validate]