在 Rails 中为 SQL 服务器中存在的现有 table 名称创建 class 名称
Create class name in Rails for existing table name present in SQL server
我想在 rails 中使用 SQL 服务器 table。
假设我在 SQL 服务器中已经有一个 table T_SDF,我想从这个 table.
中获取所有数据
如何在 Rails 中创建模型或 class?
我正在使用 Rails 版本 3.2.9 和 Ruby 版本 1.9.3。
我相信你正在寻找 self.table_name =
文档:http://apidock.com/rails/v3.2.8/ActiveRecord/ModelSchema/ClassMethods/table_name%3D
示例:
class SomeModel
self.table_name = 'T_SDF'
end
更新
为现有 table 生成模型。
运行rails g model t_sdf
。我们不想向它传递任何参数,因为 table 已经存在。
准备迁移
前面的命令应该生成了一个文件,例如:db/migrate/20150415071801_create_t_sdfs.rb
.
我们将要更新它以创建 table 与它已经存在的完全一样。
在 MySQL 我倾向于执行命令 show create table {{table_name}}
在 SQL 服务器中,您应该能够按照此处的说明进行操作:show create table tablename (how do i do this in sql server)?
获得创建 table 的字符串后,将字符串粘贴到下面示例中的执行语句中。
class CreateTSdfs < ActiveRecord::Migration
def up
# We wrap the command in an unless statement because we
# don't want to run it on production. However, it is important for
# the table to be created for developers working on local databases.
unless table_exists?('T_SDF')
execute "paste the create table sql statement here"
end
end
def down
remove_table 'T_SDF'
end
end
准备模型
你应该只需要设置模型文件的table名称。
app/models/t_sdf.rb
class TSdf
self.table_name = 'T_SDF'
end
我想在 rails 中使用 SQL 服务器 table。
假设我在 SQL 服务器中已经有一个 table T_SDF,我想从这个 table.
如何在 Rails 中创建模型或 class?
我正在使用 Rails 版本 3.2.9 和 Ruby 版本 1.9.3。
我相信你正在寻找 self.table_name =
文档:http://apidock.com/rails/v3.2.8/ActiveRecord/ModelSchema/ClassMethods/table_name%3D
示例:
class SomeModel
self.table_name = 'T_SDF'
end
更新
为现有 table 生成模型。
运行rails g model t_sdf
。我们不想向它传递任何参数,因为 table 已经存在。
准备迁移
前面的命令应该生成了一个文件,例如:db/migrate/20150415071801_create_t_sdfs.rb
.
我们将要更新它以创建 table 与它已经存在的完全一样。
在 MySQL 我倾向于执行命令 show create table {{table_name}}
在 SQL 服务器中,您应该能够按照此处的说明进行操作:show create table tablename (how do i do this in sql server)?
获得创建 table 的字符串后,将字符串粘贴到下面示例中的执行语句中。
class CreateTSdfs < ActiveRecord::Migration
def up
# We wrap the command in an unless statement because we
# don't want to run it on production. However, it is important for
# the table to be created for developers working on local databases.
unless table_exists?('T_SDF')
execute "paste the create table sql statement here"
end
end
def down
remove_table 'T_SDF'
end
end
准备模型
你应该只需要设置模型文件的table名称。
app/models/t_sdf.rb
class TSdf
self.table_name = 'T_SDF'
end