在此代码中创建的数据库文件在哪里?

时间:2018-03-06 21:46:11

标签: ruby-on-rails ruby

我将此代码嵌入.html.erb文件中:

require 'sqlite3'

# Open a SQLite 3 database file
db = SQLite3::Database.new 'file.db'

# Create a table
result = db.execute <<-SQL
  CREATE TABLE numbers (
    name VARCHAR(30),
    val INT
  );
SQL

# Insert some data into it
{ 'one' => 1, 'two' => 2 }.each do |pair|
  db.execute 'insert into numbers values (?, ?)', pair
end

# Find some records
db.execute 'SELECT * FROM numbers' do |row|
  p row
end

正如您所看到的,代码正在创建数据库,然后创建表等。 我的问题:我不知道文件的位置&#34; file.db&#34;被建造。我在整个Windows上搜索过它,但我找不到它。

注1:似乎正在创建文件和表,因为如果我请求相同的.html.erb,我会得到Error: the table 'numbers' already exists.

注2:我知道这不是添加与数据库相关的ruby代码的最佳位置。我知道我应该把它写在控制器上。

这是完整的代码:

<%

require 'sqlite3'

# Open a SQLite 3 database file
db = SQLite3::Database.new 'development.sqlite3'

# Create a table
result = db.execute <<-SQL
  CREATE TABLE numbers (
    name VARCHAR(30),
    val INT
  );
SQL

# Insert some data into it
{ 'one' => 1, 'two' => 2 }.each do |pair|
  db.execute 'insert into numbers values (?, ?)', pair
end

# Find some records
db.execute 'SELECT * FROM numbers' do |row|
  p row
end

%>

<h1>Welcome#index</h1>
<p>Find me in app/views/welcome/index.html.erb</p>

1 个答案:

答案 0 :(得分:0)

寻找file.db. SQL lite是一个真正的轻量级数据库。要查看以下表格和记录: https://www.tutorialspoint.com/sqlite/sqlite_create_database.htm