亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Django平臺對原有數(shù)據(jù)庫遷移與整合的技術研究

        2022-07-06 13:26:04陳軍民
        客聯(lián) 2022年9期
        關鍵詞:信息化建設

        陳軍民

        摘 要:高校信息化建設發(fā)展迅速,學校的業(yè)務部門根據(jù)各自的業(yè)務需求建立了很多信息管理系統(tǒng)。但由于沒有統(tǒng)一規(guī)劃,不可避免地出現(xiàn)了“信息孤島”。本文針對高校信息化建設過程中,對不同數(shù)據(jù)庫進行遷移與整合,建立統(tǒng)一的數(shù)據(jù)中心和網站應用的相關技術問題進行論述。

        關鍵詞:信息化建設;數(shù)據(jù)遷移;數(shù)據(jù)整合

        一個單位在不同時段根據(jù)當時的工作需要,會建立各種不同的信息管理系統(tǒng)。由于歷史的原因,這些系統(tǒng)的數(shù)據(jù)庫平臺不盡相同。如何對這些數(shù)據(jù)庫進行遷移與整合,建立統(tǒng)一的數(shù)據(jù)中心和網站應用,這是一個單位信息化建設過程中必定會遇到且必須要解決的問題。本文以Django平臺為例,介紹對原有不同數(shù)據(jù)庫遷移和整合的技術問題。

        一、Django平臺連接多種不同的數(shù)據(jù)庫

        Django平臺提供了非常便捷的方式連接各種不同的數(shù)據(jù)庫。以某高校為例,教務管理系統(tǒng)應用的是MySQL數(shù)據(jù)庫,智慧校園使用的是SQLite3的數(shù)據(jù)庫。Django平臺要同時連接這兩種數(shù)據(jù)庫,只要在setting.py文件中進行設置。

        1、連接教務管理系統(tǒng)的MySQL數(shù)據(jù)庫

        DATABASES = {

        'jwxt': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'jwxt',

        'USER': ‘root,

        'PASSWORD': ‘test123,

        'HOST':192.168.0.10,

        'PORT':3306,

        }

        }

        其中,'jwxt'為Django平臺連接教務管理系統(tǒng)數(shù)據(jù)庫的連接名,'ENGINE':為連接mysql數(shù)據(jù)庫的引擎,NAME為教務管理系統(tǒng)的數(shù)據(jù)庫名稱,USER為訪問數(shù)據(jù)庫的用戶名,PASSWORD為訪問數(shù)據(jù)庫的密碼,HOST為數(shù)據(jù)庫服務器的IP地址,PORT為數(shù)據(jù)庫服務器的端口。注意,上述數(shù)據(jù)為測試數(shù)據(jù),在具體實踐中應將這些數(shù)據(jù)設置為實際數(shù)據(jù)。

        另外,Django平臺訪問MySQL,還需要安裝包pymysql,并在與 settings.py 同級目錄下的 init.py 中引入模塊和進行配置,代碼如下:

        import pymysql

        pymysql.install_as_MySQLdb()

        2、連接智慧校園的SQLite3的數(shù)據(jù)庫

        DATABASES = {

        'zhxy': {

        'ENGINE': 'django.db.backends.sqlite3',

        'NAME':‘192.168.0.11/DB/db.sqlite3,

        }

        }

        其中,zhxy是Django平臺連接智慧校園的數(shù)據(jù)庫連接名,ENGINE是連接SQLite3數(shù)據(jù)庫的連接引擎。NAME是Django平臺連接智慧校園的數(shù)據(jù)庫文件路徑,需要對方電腦提供共享。

        二、Django平臺對原有數(shù)據(jù)庫進行轉換與遷移

        Django平臺提供了對數(shù)據(jù)庫統(tǒng)一管理的后臺,但有一個前提,那就是需要將原有的數(shù)據(jù)庫轉換為模型數(shù)據(jù)庫。而要使用模型,首先要建一個APP,且在設置文件中注冊這個App。

        1、建立與注冊App

        首先執(zhí)行:django-admin startapp DBApp ,建立DBApp,然后在settings.py中,找到INSTALLED_APPS,注冊DBApp。注冊代碼如下:

        INSTALLED_APPS = [

        'django.contrib.admin',

        'django.contrib.auth',

        'django.contrib.contenttypes',

        'django.contrib.sessions',

        'django.contrib.messages',

        'django.contrib.staticfiles',

        'DBApp',

        ]

        2、對原有數(shù)據(jù)庫進行轉換

        原有的數(shù)據(jù)庫是關系數(shù)據(jù)庫,需要將其轉換為模型數(shù)據(jù)庫。首先執(zhí)行命令:Python manage.py? inspectdb>ORM.txt,然后打開ORM.txt文件,就能得到模型數(shù)據(jù)庫。

        下面以MySQL的學生表為例。原有學生表的結構為:

        CREATE TABLE `xs`? (

        `學號` char(6) NOT NULL,

        `姓名` char(8) NOT NULL,

        `專業(yè)名` char(10)? NULL DEFAULT NULL,

        `性別` tinyint(1) NOT NULL DEFAULT 1 ,

        `出生時間` date NOT NULL,

        `總學分` tinyint(1) NULL DEFAULT NULL,

        `照片` blob NULL,

        `備注` text NULL,

        PRIMARY KEY (`學號`)

        );

        執(zhí)行命令:python manage.py inspectdb xs>DBApp/models.py,打開models.py,可以看到以下模型代碼:

        class Xs(models.Model):

        學號 = models.CharField(primary_key=True, max_length=6)

        姓名 = models.CharField(max_length=8)

        專業(yè)名 = models.CharField(max_length=10, blank=True, null=True)

        性別 = models.TextField()? # This field type is a guess.

        出生時間 = models.DateField()

        總學分 = models.TextField(blank=True, null=True)? # This field type is a guess.

        照片 = models.BinaryField(blank=True, null=True)

        備注 = models.TextField(blank=True, null=True)

        class Meta:

        managed = False

        db_table = 'xs'

        注意,要管理這個數(shù)據(jù)表,需要將managed = False 改為managed = True。還有轉換后的一些字段,不一定準確,后面出現(xiàn):This field type is a guess,都需要人工檢查,不符合要求的應進行修改。

        最后執(zhí)行:python manage.py migrate,對數(shù)據(jù)庫的數(shù)據(jù)進行同步遷移。

        三、Django平臺的后臺對數(shù)據(jù)庫統(tǒng)一管理

        Django平臺提供了現(xiàn)成的后臺對數(shù)據(jù)庫統(tǒng)一管理,可以對現(xiàn)有的模型數(shù)據(jù)庫進行增刪改查。但要應用這些功能,首先應創(chuàng)建一個超級用戶,然后再注冊模型。

        1、搶建一個超級用戶

        執(zhí)行命令:python manage.py createsuperuser,設置用戶名,密碼和電子郵箱。

        2、在DBApp.py文件中注冊模型

        From DBApp.models import Xs

        Admin.site.register(Xs)

        3、登錄網站后臺

        執(zhí)行命令 python manage.py runserver,在瀏覽器地址欄中輸入:127.0.0.1/admin,輸入超級用戶名和密碼,就可以進入網站后臺對數(shù)據(jù)庫進行管理。

        參考文獻:

        [1]百度文庫. https://wenku.baidu.com/view/f6f94f35a11614791711cc7931b765

        ce05087abf.html_wkts_=1667285188879[OL].2021年3月

        [2]錢彬. Python Web開發(fā)從入門到實踐[M].清華大學出版社, 2020年7月

        猜你喜歡
        信息化建設
        探討電力項目管理信息化建設與實踐
        我國企業(yè)管理信息化問題研究
        商情(2016年39期)2016-11-21 09:09:35
        一體化信息平臺在大型企業(yè)信息化建設中的實踐
        通過完善單位信息化建設自動實現(xiàn)內部控制
        財會學習(2016年19期)2016-11-10 06:07:26
        關于新時期高校檔案管理信息化建設的幾點思考
        數(shù)字化校園的整體構架及技術分析
        事業(yè)單位人事管理信息化建設策略研究
        時代金融(2016年23期)2016-10-31 13:19:12
        公立醫(yī)院財務管理信息化建設研究
        關于現(xiàn)階段工程造價管理信息化建設的思考
        企業(yè)財務管理信息化建設研究
        中國市場(2016年36期)2016-10-19 04:24:57
        久久99精品国产麻豆不卡| 日韩精品精品一区二区三区| 美女福利一区二区三区在线观看 | 国产免费人成视频在线观看| 中文字幕日韩有码在线| 色欲欲www成人网站| 日本中文字幕一区二区有码在线| 久久97久久97精品免视看| 国产欧美va欧美va香蕉在| 国产果冻豆传媒麻婆精东| 777亚洲精品乱码久久久久久| 亚洲精品国产成人无码区a片| 被黑人做的白浆直流在线播放| 特级毛片全部免费播放a一级| 丰满人妻一区二区三区精品高清| 一区二区三区亚洲视频| 妺妺窝人体色777777| а天堂中文在线官网| 欧美疯狂做受xxxxx高潮| 高清无码精品一区二区三区| 久久亚洲一级av一片| 中文乱码字幕在线中文乱码| 精品国产一区二区三区毛片| 国产日产亚洲系列首页| 色噜噜亚洲男人的天堂| 日本三级欧美三级人妇视频黑白配 | 中文字幕一区二区三区久久网| 久久精品女人天堂av免费观看| 亚洲熟少妇在线播放999| 亚洲综合自拍| 亚洲高清一区二区三区在线观看| 亚洲狠狠久久五月婷婷| 西川结衣中文字幕在线| a级毛片100部免费观看| 无码乱人伦一区二区亚洲一| 国产亚洲精久久久久久无码77777| 国产精品一区二区暴白浆| 久久尤物AV天堂日日综合| 欧美成人网视频| 黑丝美女被内射在线观看| 一区二区三区四区四色av|