连接到MSSQL的Django模型创建



我正在使用我的django项目连接到云中的遗留mysql数据库。 如果需要,我需要获取数据并在数据库表中插入数据。

我是否需要为数据库中已经存在的表编写模型? 如果是这样,则有 90 多张桌子。那么,如果我为单个表创建模型会发生什么? 除了创建模型和迁移之外,如何与数据库通信?在 Django 中还有更好的方法吗?还是模型是更好的方法? 当我创建模型时,后端会发生什么?它是否在同一数据库中再次创建这些表?

有几种方法可以连接到遗留数据库;我使用的两种方法是为旧数据库中所需的数据创建模型,或者使用原始SQL。

例如,如果我要在可预见的未来连接到旧数据库,并同时执行读取和写入,我将创建一个模型,仅包含我需要作为辅助数据库的外表中的字段。这种方法有据可查,而且更耗时。

但是,如果我只从将停用的旧数据库中读取数据,我将在旧数据库上创建一个只读用户,并使用原始 SQL 获取我需要的内容,如下所示:

from django.db import connections
cursor = connections["my_secondary_db"].cursor()
cursor.execute("SELECT * FROM my_table")
for row in cursor.fetchall():
insert_data_into_my_new_system_model(row)

我现在正在使用旧网站上的旧版SQL Server数据库来执行此操作,因为我们将用户和产品数据迁移到Django/PostgreSQL。多年来,这对我很有用,节省了很多时间。我使用它在单个应用程序中创建同步例程作为 Django 管理命令,然后当旧数据库迁移到 Django 时,我已经完全删除了包含所有同步例程的单个应用程序,以便彻底中断。祝你好运!

最新更新