我将此代码嵌入.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>
答案 0 :(得分:0)
寻找file.db. SQL lite是一个真正的轻量级数据库。要查看以下表格和记录: https://www.tutorialspoint.com/sqlite/sqlite_create_database.htm