gpt4 book ai didi

mysql - 检查mysql表是否已经存在

转载 作者:可可西里 更新时间:2023-11-01 08:52:45 26 4
gpt4 key购买 nike

我使用 activerecord 连接到 mysql 数据库并在连接后创建表。到目前为止效果很好,问题是我不知道如何检查表是否已经存在。我认为它可以与 table.exist 一起使用?但不知何故我没有......这就是我到目前为止所得到的:

ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => "localhost",
:username => "my-username",
:password => "my-password",
:database => "my-db",
:encoding => "UTF8"
)

# How to check if it exists already? table_name.table.exist? doesnt really work...
name = "my_table"
if name.!table.exist?
ActiveRecord::Schema.define do
create_table :"#{name}" do |table|
table.column :foo, :string
table.column :bar, :string
end
end
else
puts "Table exist already..."
end
# Create ActiveRecord object for the mysql table
class Table < ActiveRecord::Base
set_table_name "#{name}"
end

最佳答案

您需要在数据库连接上使用#tables 方法。

unless ActiveRecord::Base.connection.tables.include? name
ActiveRecord::Schema.define do
create_table :"#{name}" do |table|
table.column :foo, :string
table.column :bar, :string
end
end
end

关于mysql - 检查mysql表是否已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10455645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com