Comments (3)
For that case django already supports test fixtures, but now as I write this, I am kinda confused: in which state a test-fixture would be applied at? surely it should be the before-state right?
It should be applied after calling .before()
(example) or inside .prepare()
when using unittest testcase (example), because .before()
goal is to prepare database state without migration that is being tested applied, so you can populate all necessary data to test this migration.
Generally you can do whatever you want there, even load execute some raw SQL queries, however please remember that tables scheme can change, so you will have to version somehow your SQL files and solve some other challenges related to maintaining SQL files.
from django-test-migrations.
Hello @vesnikos
What do you mean by "sql extract"? SQL EXTRACT
function or just executing some raw SQL queries?
Generally you can do whatever you want in .prepare()
to setup some test data for instance, you can execute raw SQL queries like in your example
from django-test-migrations.
HI @skarzi ,
Yes, sorry. by extract
I was refering to a partial data-only dump from the database before any migrations. That .sql file over there, was just containing a bunch of import statments generated from our live database.
If that's the case and could be done, it would be great there was a reference of such use case in the documentation.
Using file-fixtures to populate the table makes sense if you have multiple tables and inputing mock data is cumbersome. For that case django already supports test fixtures, but now as I write this, I am kinda confused: in which state a test-fixture would be applied at? surely it should be the before-state right?
from django-test-migrations.
Related Issues (20)
- Django 3.2 compatibility HOT 1
- Upgrade dependecy of typing_extensions to ^4.0.0 HOT 5
- Add `[email protected]` to the test matrix
- Python3.10 support
- Support `[email protected]`
- Can't handle squashed migrations HOT 1
- typing_extensions is still required in newer Python versions HOT 5
- Models from app state aren't compatible (Cannot assign "<A: A object (1)>": "B.a_fk" must be a "A" instance) HOT 5
- Migrations unrelated to the migration I want to test force the migration I want to test to run before I can test state differences HOT 1
- Migrations unrelated to the migration I want to test force the migration I want to test to run before I can test state differences HOT 2
- Checks failing on MariaDB HOT 1
- Inconsistent behaviour with data migration HOT 8
- Error when testing multiple schemas in django+postgres HOT 1
- Allow using shorthand names & __latest__ for MigrationTargets
- Deadlock when using pants, pytest and django-test-migrations HOT 1
- Cannot test migrations if there is a collation in the migrations HOT 8
- "Relation {table} does not exist" when creating using prototype model HOT 2
- django.db.utils.OperationalError: (1050, "Table 'bar' already exists") HOT 6
- truncate_plan should truncate each app separately HOT 3
- `through_fields` not reflected in test models
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-test-migrations.