0
我有一個django項目,我試圖在不使用任何遷移工具的情況下更新數據庫表。我給一個模型添加了一個'slug'字段,它只是簡單地引用了它的名字,我打算通過複製另一個已經有一個slug的表中的內容來實現。在與數據庫綁定的數據庫中創建一個slug字段
所以,我在數據庫中的現有表「健身房」如下
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| gym_name | varchar(50) | NO | UNI | NULL | |
| gym_slug | varchar(50) | NO | MUL | NULL | |
| created | datetime | NO | | NULL | |
| modified | datetime | NO | | NULL | |
+----------+--------------+------+-----+---------+----------------+
,我必須在數據庫中的另一個表「牆」如下:
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| wall_name | varchar(50) | NO | UNI | NULL | |
| gym_id | int(11) | NO | MUL | NULL | |
| created | datetime | NO | | NULL | |
| modified | datetime | NO | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
這將得到我的一部分的方式有:
ALTER TABLE wall ADD COLUMN wall_slug varchar(50);
但我不知道如何找出哪裏的外鍵第一個表是參考的,因此我應該指出新的一個。
最終目標:將wall_slug字段綁定到唯一的wall_name字段。希望這是有道理的。
我不明白你的意思是什麼: 「但我不確定如何確定第一個表中的外鍵引用的位置,以及我應該在哪裏指向新的表。你正在添加一個文本字段,而不是外鍵,對嗎?另外,你的意思是「ALTER TABLE牆添加列wall_slug varchar(50)」? – Rob 2011-02-11 03:13:06
關於後面的問題,是的 - 我只是編輯它以反映適當的查詢。至於你的第一個問題,我可能會誤解桌子給我看的東西,但它看起來像gym.gym_name和gym.gym_slug不僅僅在模型層面上相關,而且在數據庫層面也是如此。我假設我必須按照某種方式將wall.wall_name關聯到wall.wall_slug,但我不知道如何執行此操作。 – IanWhalen 2011-02-11 22:41:58