Migrations are different depending on your DBMS.
Why? Briefly, here are a few reasons :
1. RDBMS or DBMS (Database management system) is a software that
organizes the data in a database thus allowing for easy management,
administration, retrieval and manipulation of data by users or
applications. e.g. Oracle, PostgreSQL, Microsoft SQL Server, MySQL , DB2,
Informix and so forth.
2. Database is typically housed within a RDBMS or DBMS. A database is an
organized set of logically connected data stored and accessed
electronically from a computer system. The information transforms into
helpful knowledge, structured and maintained to fit
user and or application needs. Apart from storing the data itself, a
database also keeps the relationships between data points via database
normalization rules.
3. SQL is the basic query language used to operate all the database
management systems. There are minor syntax changes amongst different DBMS,
but the basic SQL syntax remains largely the same.
There are many types of SQL commands largely divided into DDL, DML, DCL,
TCL, and DQL. Different DBMSs have their own flavor of SQL. For example
T-SQL for Microsoft, PL/SQL for Oracle
There are also many
Django's Object-Relational Mapper (ORM), enables you to interact with your
database, like you would with SQL and without having to really know the
nuances between one DBS and the other. But if you switch from one DBMS to
the next, you will need to generate and run new migrations each time
including configuration data etc and this will be disastrous. You
therefore, want to use the same DBMS throughout your environments and stack.
On Tuesday, December 28, 2021 at 10:55:02 AM UTC-7 Jason wrote:
> Not exactly. Migrations try to be generalized across db types, but that
> doesn't mean that you can be using db-specific features in your models and
> ORM usage. Thats one reason its highly, highly recommended to use the same
> database and version at all layers of your stack.
>
> In other words, if you're using sqlite locally and postgres in deployment,
> you're opening yourself to the high probability of having to figure
> something out and finding out that its due to different features in the
> db.
>
> On Tuesday, December 28, 2021 at 10:42:56 AM UTC-5 [email protected] wrote:
>
>> As far as I know, the migrations are "Python-Code" in themselves, only
>> defining which tables change in what way. Only when they are being
>> applied, this is turned into actual database code.
>>
>> But you can test this easily by creating migrations and look at them. Or
>> use e.g. a postgres docker container, if my memory is wrong.
>>
>> Cheers
>>
>> Lars
>>
>> Am 28.12.21 um 16:02 schrieb Anil Felipe Duggirala:
>> > hello,
>> > I running an app locally using an SQlite database (I have not been able
>> to set up postgresql locally). I am running the same app in Heroku, using
>> Postgresql.
>> > If I run "makemigrations" locally, then push those migrations to Heroku
>> (which is using postgresql), will those migrations be applied correctly by
>> just doing "migrate" on Heroku.
>> > Do the contents of migrations files depend on the database type that is
>> associated to the app when creating the migrations?
>> > thank you,
>> >
>> > Anil F
>> >
>> --
>> punkt.de GmbH
>> Lars Liedtke
>> .infrastructure
>>
>> Kaiserallee 13a
>> 76133 Karlsruhe
>>
>> Tel. +49 721 9109 500 <+49%20721%209109500>
>> https://infrastructure.punkt.de
>> [email protected]
>>
>> AG Mannheim 108285
>> Geschäftsführer: Jürgen Egeling, Daniel Lienert, Fabian Stein
>>
>>
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/d61f6aa9-30b3-4de4-ada8-2b69bd7468cbn%40googlegroups.com.