One strategy might be to:

1) Bring in the data under a different column name ('old_id' ?)
2) In a single migration, drop the default ID column,  rename old_id to id, 
and give it primary_key=True

That should preserve your old IDs and set the next auto_increment to the 
next highest value (and if it doesn't, you can set the next val manually 
immediately afterwards).

./s


On Monday, June 19, 2017 at 9:30:31 AM UTC-7, Thomas Hauk wrote:
>
> I am working on a project that uses Django 1.10.5 with Postgres 9.6 (and 
> Python 3.6.1).
>
>  
>
> I am currently migrating historical data from an old system into the new 
> system. This historical data has a table with a (non-primary key) “ID” 
> column. I would like to migrate these rows into the new database, and have 
> that column be auto-incrementing (starting from, say, 100000) for new rows 
> inserted.
>
>  
>
> I think the way to do this with raw Postgres SQL would be to create a 
> serial field, and then run a SQL command like “SELECT 
> SETVAL('some_table_field_id_seq', 100000)”. I think.  :)
>
>  
>
> Does Django expose functionality that lets me accomplish this?
>
>  
>
> I looked at AutoField, but it doesn’t allow usage when primary_key=False.
>
>  
>
> T
>
>  
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/7dfbbaf9-88f5-44e4-b19c-7fbbdedc1fc7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to