0
我在寫一個python腳本,它會將數據庫重置爲初始狀態(每個表中的某些硬編碼條目)。數據庫由多個帶有主鍵和外鍵的表組成。刪除所有表中的條目
每次運行腳本時,都應該刪除所有表中的所有舊條目,重置主鍵計數器並插入樣本條目。
目前,我試圖做到這一點是這樣的:
# Delete all the entries from the tables
cursor.execute("DELETE FROM table1")
cursor.execute("DELETE FROM table2")
cursor.execute("DELETE FROM table3")
# Reset the primary key counter and insert sample entries
cursor.execute("ALTER TABLE table1 AUTO_INCREMENT = 1")
cursor.execute("INSERT INTO table1(username, password) VALUES('user01', '123')")
cursor.execute("ALTER TABLE table2 AUTO_INCREMENT = 1")
cursor.execute("INSERT INTO table2(column1, column2) VALUES('column1_data', 'column2_data')")
這不是工作,由於外鍵在某些表中存在(它不會讓我刪除它們)。
我生成使用models.py腳本表(我也使用Django),所以我想我可以解決這個問題的方式如下:
- 編程刪除的數據庫,並創建一個新的具有相同命名
- 呼叫models.py腳本生成使用我寫
腳本
如果你的意思是這樣的:'DROP DATABASE mydb; CREATE DATABASE mydb;'然後'./manage.py syncdb',那麼這可能是最簡單的。 – Aya 2013-04-30 16:04:18