Heroku db id Starting with 1000

19 views
Skip to first unread message

Avi

unread,
Mar 12, 2013, 6:58:59 AM3/12/13
to rubyonra...@googlegroups.com
Hello All,

How do I change the heroku database( already existed ) table id to start from say 1000?

I tried with a fresh database on local & it works with this:- 
            execute "ALTER users orders AUTO_INCREMENT = 1000"



Thanks,
Avinash

Avi

unread,
Mar 12, 2013, 7:02:11 AM3/12/13
to rubyonra...@googlegroups.com

Sorry - this query - execute "SELECT setval('users_id_seq', 1000)"
   The above query is db already existed. 
 


Thanks,
Avinash

Colin Law

unread,
Mar 12, 2013, 7:05:41 AM3/12/13
to rubyonra...@googlegroups.com
On 12 March 2013 10:58, Avi <aavinas...@gmail.com> wrote:
> Hello All,
>
> How do I change the heroku database( already existed ) table id to start
> from say 1000?

Don't bother. You should never care what the id is for a record, it
will just make life difficult if you do. If you want a column with a
meaningful number in it then add an extra column rather than using the
id.

Colin

avinash behera

unread,
Mar 12, 2013, 8:58:45 AM3/12/13
to rubyonra...@googlegroups.com
The main reason I am doing this is :-
I am uploading some images to s3 amazon.
I am saving those images in s3 through rake script.
I have two tables having images.
Both are saving in one folder in s3.
I want to save those based on ids, so that there will not be any conflict.


--
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 rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.



--
Thanks & Regards,
Avinash Behera
M-09538712979

Colin Law

unread,
Mar 12, 2013, 9:31:36 AM3/12/13
to rubyonra...@googlegroups.com
On 12 March 2013 12:58, avinash behera <aavinas...@gmail.com> wrote:
> The main reason I am doing this is :-
> I am uploading some images to s3 amazon.
> I am saving those images in s3 through rake script.
> I have two tables having images.
> Both are saving in one folder in s3.
> I want to save those based on ids, so that there will not be any conflict.

I don't understand what you mean, do you mean you have two tables and
want to keep the ids of the two tables distinct from each other? If
so then that is a bad idea, it will be sure to cause you problems at
some time in the future. A better idea might be to have a third table
(images) that manages all the images and has a relationship to the
other tables. Possibly polymorphic (see
http://guides.rubyonrails.org/association_basics.html#polymorphic-associations
).

Colin

tamouse mailing lists

unread,
Mar 12, 2013, 4:46:09 PM3/12/13
to rubyonra...@googlegroups.com
On Tue, Mar 12, 2013 at 7:58 AM, avinash behera
<aavinas...@gmail.com> wrote:
> The main reason I am doing this is :-
> I am uploading some images to s3 amazon.
> I am saving those images in s3 through rake script.
> I have two tables having images.
> Both are saving in one folder in s3.

Do you mean they are being saved to the same bucket? Or do you mean a
path under the bucket? S3 has it's own very unique method of storage.
But you can easily store things in the same bucket, but specify a
path-like prefix:

s3://mybucket/table1/image-n.jpg
s3://mybucket/table2/image-n.jpg

table1 and table2 aren't really folders in S3, but they're good enough
emulation to consider that for most uses.

> I want to save those based on ids, so that there will not be any conflict.

As stated, don't rely on the record ID in your database. Create a
unique id for each image if you'd like, and use that to tag it, if
that's how you want to go.

avinash behera

unread,
Mar 14, 2013, 2:57:27 AM3/14/13
to rubyonra...@googlegroups.com
So, my requirement is :-

I have an Image table & a related_image table.
image has_many related_images.
& related_images belongs to many images.
Those images in both the tables are in sequence(we can change the sequence- That will be a problem in case of belongs to many images). 

So, this seems to be a better option to save images as id.
In s3, I am saving both the images(images & related_images) in one folder as <id>.png or <id>.jpg

After saving into s3, there are some other process to do like creating .plist file from the json objects & others. Here I require those data from s3.

I was getting an interesting issue with heroku.
I was doing a db:reset & set the default id to start with 1000 & 10000 respectively.
It was working for the first time. If I do again a db:reset it goes. It starts from 1.

I fixed it by adding migration file with :-
def change
    execute "SELECT setval('images_id_seq', 1000)"
  end
def change
    execute "SELECT setval('related_images_id_seq', 10000)"
  end

& on console by :- heroku pg:reset DATABASE --confirm MY_APP_NAME

So, now every time I reset, I need to run the migration & it works.


--
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 rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.





--
Thanks,
Avinash

tamouse mailing lists

unread,
Mar 14, 2013, 4:34:01 AM3/14/13
to rubyonra...@googlegroups.com

Are images also capable of being related images? And vice versa?

Colin Law

unread,
Mar 14, 2013, 4:59:43 PM3/14/13
to rubyonra...@googlegroups.com
On 14 March 2013 06:57, avinash behera <aavinas...@gmail.com> wrote:
> So, my requirement is :-
>
> I have an Image table & a related_image table.
> image has_many related_images.
> & related_images belongs to many images.
> Those images in both the tables are in sequence(we can change the sequence-
> That will be a problem in case of belongs to many images).
>
> So, this seems to be a better option to save images as id.
> In s3, I am saving both the images(images & related_images) in one folder as
> <id>.png or <id>.jpg
>
> After saving into s3, there are some other process to do like creating
> .plist file from the json objects & others. Here I require those data from
> s3.
>
> I was getting an interesting issue with heroku.
> I was doing a db:reset & set the default id to start with 1000 & 10000
> respectively.
> It was working for the first time. If I do again a db:reset it goes. It
> starts from 1.

I can't say I exactly follow what you want, but I still suggest not to
use the id. Using the id causes problems as you have found out.
Instead simply add another field (image_id for example) and set it to
whatever values you want, independent of the id.

Colin
Reply all
Reply to author
Forward
0 new messages