On 23/08/2018 1:32 AM, emmanuel wyckens wrote:
> Hello,
>
> The class below didn't work if you use migrations.RunPython several times.
> Have you got an idea to manage double csv file importation into database ?
In your migration file ...
from django.db import migrations, models
from <app>.utils import double_csv_file_importation
class Migration(migrations.Migration):
dependencies = [
('<app>', '<previous_migration>'),
]
operations = [
migrations.RunPython(
double_csv_file_importation,
# afterwards, edit the first line of
double_csv_file_importation to return None
# so that subsequent migrations don't re-import the csv files
),
]
I use this way frequently to import changing reference data from
multiple csv files. It lets me build and test the importation process
separately and just trigger it from a new migration whenever necessary.
You may also consider using a management command. I also uses these for
csv imports. It is slightly more complex to set up - but well documented
- but easier to manage if you have access to the server to run them
whenever necessary.
>
> Thanks
>
> Emmanuel
>
> class Migration(migrations.Migration):
>
> dependencies = [
> ("contact", "0001_initial"),
> ]
>
> operations = [
> migrations.RunPython(
> lambda apps, schema_editor: import_countries(
> str(BASE_DIR / "contact" / "migrations" /
> "departement.csv")
> )
> ),
> migrations.RunPython(
> lambda apps, schema_editor: import_zipcode(
> str(BASE_DIR / "contact" / "migrations" /
> "codepostal.csv")
> )
> ),
> ]
> --
> 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+unsubscribe@googlegroups.com
> <mailto:django-users+unsubscribe@googlegroups.com>.
> To post to this group, send email to django-users@googlegroups.com
> <mailto: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/a0c3fd68-9db2-462d-b122-9ea439e61ce4%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/a0c3fd68-9db2-462d-b122-9ea439e61ce4%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.
--
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+unsubscribe@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/2964133e-fb3c-34b5-8670-3b21e7d0b693%40dewhirst.com.au.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment