manage.get.gov/docs/operations/import_export.md
2024-05-10 07:36:23 -04:00

66 lines
No EOL
1.6 KiB
Markdown

# Export / Import Tables
A means is provided to export and import individual tables from
one environment to another. This allows for replication of
production data in a development environment. Import and export
are provided through the django admin interface, through a modified
library, django-import-export. Each supported model has an Import
and an Export button on the list view.
### Export
When exporting models from the source environment, make sure that
no filters are selected. This will ensure that all rows of the model
are exported. Due to database dependencies, the following models
need to be exported:
* User
* Contact
* Domain
* DomainRequest
* DomainInformation
* DomainUserRole
* DraftDomain
* Websites
* Host
* HostIP
### Import
When importing into the target environment, if the target environment
is different than the source environment, it must be prepared for the
import. This involves clearing out rows in the appropriate tables so
that there are no database conflicts on import.
#### Preparing Target Environment
Delete all rows from tables in the following order through django admin:
* DomainInformation
* DomainRequest
* Domain
* User (all but the current user)
* Contact
* Websites
* DraftDomain
* HostIP
* Host
#### Importing into Target Environment
Once target environment is prepared, files can be imported in the following
order:
* User (After importing User table, you need to delete all rows from Contact table before importing Contacts)
* Contact
* Domain
* Host
* HostIP
* DraftDomain
* Websites
* DomainRequest
* DomainInformation
* UserDomainRole
Optional step:
* Run fixtures to load fixture users back in