用sql创建id和timestamp列?

时间:2013-01-16 01:02:24

标签: ruby-on-rails

我试图在seed.rb文件中使用一些sql语句为Rails应用程序播种。提供了12个值,但表中有15列。额外的三列是自动生成的id,created_at,并在Rails默认包含的列处更新。如果我按以下方式在seed.rb文件中运行自定义sql语句....

connection = ActiveRecord::Base.connection()
query = "random sql"
connection.execute(query)

Rails不会像我那样为我创建那些列

Employee.create!(name: "Joe")

无论如何,当我在seed.rb中运行sql语句时,向rails指示我需要填充值的id和timestamp列吗?

1 个答案:

答案 0 :(得分:0)

不,因为Rails无法知道你的"random sql"是否创建了任何记录来填写ids /时间戳。

当你自己connection.execute时,你已经离弃了你的ORM并屈服于SQL的诱惑。

如果您可以使用ActiveRecord执行此操作,请执行此操作!如果没有,那么,这就是为什么Rails允许你下载到SQL(但再想一想。你能真的不能在Ruby中写它吗?)。