I could not understand that what do you mean by single instance migration
with relation. Can you please elaborate more?
On Monday, October 28, 2013 9:36:41 AM UTC+5, kingston.s wrote:
>
> For single instance migration we could do like this,what to be done if i
> want to migrate single instance with the relation?
>
>
> On Sunday, October 27, 2013 9:57:57 AM UTC+5:30, Kashif Umair Liaqat wrote:
>>
>> You might need to write a migration or rake task for this purpose.
>>
>> Migration may look like this.
>>
>> class MigrateData < ActiveRecord::Migration
>> def change
>> get_all_models.each do |model|
>> model.where('').find_each do |model_instance|
>> model_instance.update_attributes id:
>> UUIDTools::UUID.random_create.to_s
>> end
>> end
>> end
>>
>> def get_all_models
>> Module.constants.select do |constant_name|
>> constant = eval constant_name
>> if not constant.nil? and constant.is_a? Class and constant.superclass
>> == ActiveRecord::Base
>> constant
>> end
>> end
>> endend
>>
>> This migration will iterate over all the models in your app and generate
>> UUID for each single instance.
>>
>> On Friday, October 25, 2013 6:17:55 PM UTC+5, kingston.s wrote:
>>>
>>> Hi all,
>>>
>>> I am using rails 3.1 and ruby 1.9.3,Now i want to use uuid concept in
>>> rails 3 for existing data
>>>
>>> so i did like :-
>>>
>>> create_table :posts, :id => false do |t|
>>> t.string :uuid, :limit => 36, :primary => true
>>> end
>>>
>>> ActiveRecord::Base.class_eval do
>>>
>>> # old rails versions
>>> set_primary_key 'uuid'
>>>
>>> before_create :generate_uuid
>>> def generate_uuid
>>> self.id = UUIDTools::UUID.random_create.to_s
>>> end
>>> end
>>>
>>>
>>> This is working for new data,now i want to migrate existing data with
>>> relation.for uuid they are using datatype as string,in postgresql the
>>> data type used for primary_key and foreign key is integer ,so if i am
>>> trying to change foreign key integer to string it is throwing error.
>>>
>>> Could you please tell me some example,how to do this.
>>>
>>> kingston.s
>>>
>>
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/rubyonrails-talk/66cae0c3-112c-46aa-8a25-a369f58b527c%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.