【问题标题】:What to do with Models? Rails 4 Importing SQL file directly模型怎么办? Rails 4直接导入SQL文件
【发布时间】:2015-10-11 04:55:53
【问题描述】:

好的。因此,我以 sql 脚本的形式进行了相当大的数据转储,并将其直接导入到我的 rails 数据库中,而不涉及 rails。现在我注意到在我的数据库中创建的表不遵循 rails 约定。我已经手动创建了模型文件,但我不确定要写什么。这是我使用 SHOW TABLES; 命令获得的表的小列表。

| mapLocationScenes                    |
| mapLocationWormholeClasses           |
| mapRegionJumps                       |
| mapRegions                           |
| mapSolarSystemJumps                  |
| mapSolarSystems                      |
| mapUniverse                          |
| planetSchematics                     |
| planetSchematicsPinMap               |
| planetSchematicsTypeMap              |
| ramActivities                        |
| ramAssemblyLineStations              |
| ramAssemblyLineTypeDetailPerCategory |
| ramAssemblyLineTypeDetailPerGroup    |
| ramAssemblyLineTypes                 |
| ramInstallationTypeContents          |
| schema_migrations                    |
| skinLicense                          |
| skinMaterials                        |
| skinShip                             |
| skins                                |
| staOperationServices                 |
| staOperations                        |
| staServices                          |
| staStationTypes                      |
| staStations                          |
| translationTables                    |
| trnTranslationColumns                |
| trnTranslationLanguages              |
| trnTranslations                      |
| users                                |
| warCombatZoneSystems                 |
| warCombatZones                       |
+--------------------------------------+

schema.rb

ActiveRecord::Schema.define(version: 20150505190032) do

  create_table "makeusers", force: :cascade do |t|
    t.string   "username"
    t.string   "password"
    t.boolean  "admin"
    t.string   "daisplayname"
    t.string   "email"
    t.integer  "dob"
    t.datetime "created_at",   null: false
    t.datetime "updated_at",   null: false
  end

  create_table "users", force: :cascade do |t|
    t.string   "email",                  default: "", null: false
    t.string   "encrypted_password",     default: "", null: false
    t.string   "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer  "sign_in_count",          default: 0,  null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.string   "current_sign_in_ip"
    t.string   "last_sign_in_ip"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "name"
    t.string   "gamename"
    t.integer  "role"
  end

  add_index "users", ["email"], name: "index_users_on_email", unique: true
  add_index "users", ["reset_password_token"], name:  "index_users_on_reset_password_token", unique: true

end

【问题讨论】:

  • 请发布您的schema.rb

标签: ruby-on-rails ruby ruby-on-rails-4 rails-activerecord


【解决方案1】:

当名称不符合 Rails 的约定时,您可以显式设置表名。示例:

class MapSolarSystemJump < ActiveRecord::Base
  self.table_name = "mapSolarSystemJumps"
end

请参阅文档中的 table_name=

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 2021-03-06
    • 2013-08-01
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多