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

问题描述 投票:0回答:1

我将此代码嵌入.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

正如您所看到的,代码正在创建数据库,然后创建表等。我的问题:我不知道文件“file.db”的创建位置。我在整个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>
ruby-on-rails ruby
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.