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 [email protected].
To post to this group, send email to [email protected].
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