我从ServiceStack ORMLite类
创建PostgreSQL表[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)。
谢谢你。
答案 0 :(得分:2)
如果你找不到另一种方法,那么在PostgreSQL中实现它的方法非常简单:
ALTER TABLE generaljournalline ALTER COLUMN debitamount TYPE numeric;
这将完全放弃长度限制。
顺便说一句,我发现在会计软件中,通常更容易将金额存储在一个列中( - 用于借记,+用于贷记)并在提取时将它们分开。我不确定您是否可以使用ORM执行此操作,除非您先设计表,然后查看,并使用ORM与视图进行交互。主要优点是您不需要使用CHECK约束来处理如果某人存储负数而发生的情况。毕竟,如果有人将-100作为借记存储而-100作为相应的信用存储甚至意味着什么呢?