上篇記錄使用「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.建立...