django 建立安全索引

2022-05-17 20:42:10 字數 2401 閱讀 6489

上篇記錄使用「concurrently」 命令列執行不鎖表索引,對於django, 如何執行呢?這裡記錄一種方法,修改django遷移檔案。

在執行完遷移後,為了方便找到該遷移檔案,可以採用指定命名遷移

1

#migrations/0002_add_index_separate_database_and_state.py23

from django.db import

migrations, models45

class

migration(migrations.migration):

67 dependencies =[

8 ('

', '

0001_initial'),

9]1011 operations =[

12migrations.alterfield(

13 model_name='

sale',

14 name='

sold_at',

15 field=models.datetimefield(

16 auto_now_add=true,

17 db_index=true,

18),

19),

20 ]

在終端輸出migratons檔案sql語句,此處是為確保執行sql操作與django狀態一致

2begin;

3 --

4 --alter field sold_at on sale

5 --

6 create index "

" on "

" ("

sold_at");

7 commit;

接下來,需要使用「separatedatabaseandstate」來進行關聯,我們知道,django模型和資料庫屬於對映關係,django儲存模型狀態,和資料庫之間同步需要明確指出。

1

#migrations/0002_add_index_separate_database_and_state.py23

from django.db import

migrations, models45

class

migration(migrations.migration):

6 atomic =false

78 dependencies =[

9 ('

', '

0001_initial'),

10]1112 operations =[

1314

migrations.separatedatabaseandstate(

1516 state_operations=[

17migrations.alterfield(

18 model_name='

sale',

19 name='

sold_at',

20 field=models.datetimefield(

21 auto_now_add=true,

22 db_index=true,

23),

24),

25],

2627 database_operations=[

28 migrations.runsql(sql="""

2930

31"""

,32 reverse_sql="""

3334

"""),

35],

36),

3738 ],

state_operations: django此次修改動作,django自動生成動作,

state_operations:資料庫執行操作,

reverse_sql: 類似與sql回滾,比如,遷移檔案想回到上一版本時,需要將本遷移檔案執行操作還原,但django不知道原始sql執行何種操作,所以,如果要回退,需要指定回滾sql。

另外,django遷移採用事務操作,而"concurrently"不支援事務操作,可以採用非事務操作(不可回滾),如第6行所示。

文章參考:

建立安全組

操作場景 您可以建立安全組並定義安全組中的規則,將vpc中的彈性雲伺服器劃分成不同的安全域,以提公升彈性雲伺服器訪問的安全性。建議您將不同公網訪問策略的彈性雲伺服器劃分到不同的安全組。操作步驟 登入管理控制台。在管理控制台左上角單擊 在系統首頁,選擇 網路 虛擬私有雲 在左側導航樹選擇 訪問控制 安...

建立安全組

操作場景 您可以建立安全組並定義安全組中的規則,將vpc中的彈性雲伺服器劃分成不同的安全域,以提公升彈性雲伺服器訪問的安全性。建議您將不同公網訪問策略的彈性雲伺服器劃分到不同的安全組。操作步驟 登入管理控制台。在管理控制台左上角單擊 在系統首頁,選擇 網路 虛擬私有雲 在左側導航樹選擇 訪問控制 安...

Linux下使用OpenSSL建立安全的vsFTP

tag 我要投稿 vsftpd是linux上的ftp伺服器軟體之一,它支援很多選項,其中有一條允許使用openssl對資料進行加密,這樣可以在一定程度上彌補ftp在傳輸帳號密碼資訊時銘文傳送的缺陷,可以使ftp帳號更安全一些。1.首先,安裝vsftpd yum install vsftpd 2.建立...