不幸的是,我所有的RDMS體驗都來自於使用我公司的專有數據庫技術,並且我正在努力尋找能夠將我的知識轉化爲PHP/MySQL實踐的類比。在新數據庫中安裝表,字段和靜態數據的標準方式是什麼?
在我的公司,我們定義定義表,字段,鑰匙,和這樣的「數據字典」的配置:
orders_Dct.cfg
trades_Dct.cfg
profiles_Dct.cfg
一個這樣的配置文件可能是這樣的:
table
{
name ORDERS
fields (ORDER_ID, ORDER_VS, PRICE, QUANTITY)
key
{
name ORDERS_BY_ID_VS
sort (ORDER_ID, ORDER_VS)
}
}
field
{
name ORDER_ID
type CHARARRAY
size 8
}
field
{
name ORDER_VS
type I32
}
field
{
name PRICE
type F64
}
field
{
name QUANTITY
type F64
}
另外,我們定義「靜態數據」,例如profiles_Static.cfg
:
table
{
name PROFILES
entry
{
USER_ID 0
USER_NAME SYSTEM
SUPER_USER Y
}
entry
{
USER_ID 1
USER_NAME TEST
SUPER_USER N
}
}
我們然後運行命令,如Install
,Remap
和LoadStatic
基於這些配置文件更新數據庫。
現在,我當然可以編寫腳本,甚至可以複製我公司的工作方式,但我認爲在PHP/MySQL中必須有一些標準方法來完成此操作。我想知道是不是因爲根據像「mysql」,「database」,「dictionary」,「configuration」和「rollout」這樣的術語來搜索錯誤的術語,我只找到this question about a utility to create a database dictionary,至少第一次一目瞭然,似乎不像我在找什麼。 我想要一個簡單的基於配置文件的方法來設置數據庫表,字段,鍵和靜態數據。有人會指出我的方向是正確的嗎?
如果沒有這種「標準」的做法,那麼一定有一個很好的理由,我願意適應不同的做事方式。但是爲了這個目的必須編寫一個自定義腳本,這似乎很愚蠢!
在此先感謝。
我想你可能會更好地描述你想要達到的目標,而不是你目前正在做的。例如,你想創建一個數據庫來重新安裝一些東西?也許有一些默認數據呢?或者你想有一個更新路徑來發布新的發展分支?或者它是一種備份策略? – Nanne
@Nanne - 更多的練習比發佈,但我從頭開始創建一個網站模板。 (是的,我知道Ruby,Django等,但我想嘗試「重新發明輪子」)。網站模板將始終需要某些表,字段和鍵,我希望能夠加載用戶數據,產品數據等,我可以手動編輯文件。 –
谷歌的一個好的關鍵字是「數據庫遷移」... – deceze