创建一个唯一的数据库列,从Rails 4.2.5中的起始编号自动增加

时间:2016-06-06 09:59:09

标签: ruby-on-rails sqlite

我有一个包含此列t.integer :account_number, :limit => 9的数据库表。我需要此列在帐户创建时自动生成,为每个创建的帐户自动增加50,并且必须从450230000开始(从第一个帐户开始)。因此,我将拥有ID = 1ACCOUNT_NUMBER = 450230000帐户,帐户ID = 2ACCOUNT_NUMBER = 450230050。 我使用Rails 4.2.5和SQLite作为数据库。有一种方法可以在Rails中使用这种类型的自动增量列吗?

2 个答案:

答案 0 :(得分:2)

在保存对象之前在模型中添加回调

sqlContext.read.
  format("com.databricks.spark.csv").
  option("delimiter","\t").
  option("header","true").
  load("hdfs:///demo/data/tsvtest.tsv").show

在模型中做类似的事情

答案 1 :(得分:1)

这个逻辑,可以帮到你

before_create :inc_acc_num   //callback 

def inc_acc_num
  self.account_number = Account.last.try(:account_number) + 50
end