使用Terminal将新数据插入SQLite数据库?

时间:2013-01-09 19:48:17

标签: ruby-on-rails ruby ruby-on-rails-3 sqlite

我正在尝试将数据插入到用于Rails应用程序的SQLite数据库中。

我最初认为我可以使用SQLite管理器和insert into tablename (value) values ('value')但是,它没有在表中插入任何内容并且没有产生错误。

我做错了吗?有没有办法直接用Rails做到这一点?

我以为我可以使用某种activerecord迁移而只是rake db:migrate,但是我无法找到合适的命令。

1 个答案:

答案 0 :(得分:1)

rails runner是一种利用Rails运行时的好方法,无需为应用程序加载整个Rails堆栈。它将为您的底层数据库提供完整的ActiveRecord资源,使您可以轻松地进行数据库操作。

来自runner内置帮助:

rails runner
Usage: runner [options] ('Some.ruby(code)' or a filename)

    -e, --environment=name           Specifies the environment for the runner to operate under (test/development/production).
                                     Default: development

    -h, --help                       Show this help message.

You can also use runner as a shebang line for your scripts like this:
-------------------------------------------------------------
#!/usr/bin/env /Users/greg/junk/foo/script/rails runner

Product.all.each { |p| p.price *= 2 ; p.save! }

我已经多次使用这个将Rails下面的数据加载到数据库中的作业。对于您需要做的事情来说,它是一个很好的解决方案。

Rails task: script/runner or rake?”也值得一读,以获取更多信息。