2013-09-26 19 views
1

創建我從ServiceStack ORMLite類創建PostgreSQL表如何更改默認的Postgres列數字通過servicestack到數字(38,20)

[Alias("generaljournalline")] 
    public class GeneralJournalLine 
    { 
     [Required] 
     [Alias("debitamount")] 
     [Default(typeof(decimal), "0")] 
     public decimal DebitAmount { get; set; } 

     [Required] 
     [Alias("creditamount")] 
     [Default(typeof(decimal), "0")] 
     public decimal CreditAmount { get; set; } 
} 

如何更改Postgres的列debitamount,creditamount從數字(38,6)到數字(38,20)。

謝謝你。

回答

2

如果你不能找到另一種方式來做到這一點,做到在PostgreSQL的方式很簡單:

ALTER TABLE generaljournalline ALTER COLUMN debitamount TYPE numeric; 

這將完全放棄長度的限制。

順便說一句,我發現在會計軟件中,通常在一列中存儲金額更容易( - 借方,+信用),並在提取時將這些分開。我不確定你可以用ORM來做到這一點,除非你先設計你的表格,然後查看並使用ORM與視圖進行交互。主要優點是您不需要使用CHECK約束來處理如果某人存儲負值時發生的情況。畢竟,如果有人將-100作爲借方並將-100作爲相應的積分,那甚至意味着什麼?