问题标签 [foreigner]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 如何防止 Rails “复数”列名?
我正在使用 dwilkie 的foreigner插件用于 rails。我有一个表创建语句,如下所示:
但是,这会生成以下 SQL:
[4;35;1mSQL (2.7ms)[0m [0mCREATE TABLE "agents_games" ("agents_id" integer NOT NULL, "games_id" integer NOT NULL) [0m
我希望这些列被称为agent_id
and game_id
- not agents_id
and games_id
。如何防止 Rails 使列复数?
我在我的enviornment.rb
文件中尝试了以下内容,但没有帮助:
sql-server - Ruby on Rails Foreigner 插件不适用于 SQL Server
好吧,现在我终于配置了愚蠢的 ODBC 东西,我从 Postgres 数据库中提取了一个 schema.rb 文件,并db:schema:load
在为 SQL Server 配置的 Rails 项目中对其进行了处理。
好吧,它设置了 SQL Server 数据库中的所有模式,除了一个小细节:没有创建外键。
rake 命令没有显示任何错误,并且确实说它正在添加外键。但它们实际上并没有被添加。这是命令的最后一点:
那么问题是什么?Foreigner 插件在 SQL Server 中不起作用吗?如果不是我希望看到错误或其他东西......
ruby-on-rails - 在表中添加外键
我不断收到此异常:"SQLite3::SQLException: no such column: books.user_id: SELECT "books".* FROM "books" WHERE ("books".user_id = 4)"
. 这听起来像books 表中没有user_id。
所以我只是安装了 Foreigner 插件并在书籍迁移文件中添加了"t.integer :user_id, :null => false"
和"add_foreign_key(:books, :users)"
。我跑了"rake db:migrate"
,但它仍然给了我同样的例外。
我在 Windows 中使用 Rails 3 并设计来验证用户。
主页视图
家庭控制器
图书控制器
创建表/书迁移
预订视图
书籍模型
用户模型
ROUTE Campus::Application.routes.draw 确实得到“书/索引”
数据库架构
mysql - 如果您打算删除表,是否必须单独删除外键/索引
如果您打算删除表,是否必须单独删除外键/索引。由于删除表似乎正在删除外键/索引。
我正在使用这个 gem http://github.com/matthuhiggins/foreigner来删除创建/删除外键/索引。add_foreign_key
似乎创建了 foreign_key 和一个索引。这是否意味着我应该在 self.down 上单独删除索引/外键或者我可以删除表吗?
ruby-on-rails-3 - Rails Foreigner:使用 MySQL 的“测试”数据库的外键约束
我正在尝试使用Foreigner在 Rails 中启用外键约束。它正在我的开发数据库上运行,但是当我尝试运行测试时出现以下错误:
奇怪的是,测试运行良好,最后我得到了这个错误。
我怀疑 Foreigner 正在尝试对测试数据库使用 SQLite 语法,却不知道我正在使用 MySQL(和 mysql2 适配器)。有没有办法告诉老外我正在使用 MySQL 作为测试数据库?
ruby-on-rails-3 - Rails 外国人插件
我的用户表应该有一个 role_id(尚未添加到我的表中)我的角色表使用了默认的主 ID:id
我目前正在尝试使用看起来像的外国人插件......
但我的错误是:Mysql2::Error: Key column 'role_id' doesn't exist in table: ALTER TABLE users
ADD CONSTRAINT users_role_id_fk
FOREIGN KEY ( role_id
) REFERENCES roles
(id)
到底是怎么回事??我错过了什么?
mysql - SQLite 迁移从 schema.rb 文件中删除 'add_index' 和 'add_foreign_key'
我在同一个 Rails 项目上使用 SQLite3 和 MySQL,但在两台不同的计算机上。我注意到,schema.rb
当我运行所有迁移时生成的 which 在两种环境中看起来都不同。当我在 SQLite3 环境中运行迁移时,会从文件中删除以下语句。schema.rb
请注意,我使用了通过和扩展迁移的外国人 gem。add_foreign_key
remove_foreign_key
以下是与问题相关的迁移和模型:
...
...
...
问题:如何定义 SQLite3 和 MySQL 都可以处理的users
关系places
?
ruby-on-rails - 为什么有人会使用 gem 外国人?
这很可能是一个菜鸟问题,因为人们使用这种宝石并且很多人喜欢它,但我不明白目的。我正在查看一个项目,它已在此处多次使用,例如t.references :foreign_key_table_name , :foreign_key => true
,add_foreign_key :table :foreign_key_table_name, :options
和 create t.foreign_key :foreign_key_table_name
。希望那些没有混淆,因为它们脱离了上下文。
但是我不明白这与内置的railst.references :foreign_key_table_name
或我只是添加的有什么不同t.integer :foreign_key_table_name_id
?它是否只是通过明确这是一个“外键”来使其更具可读性?如果是这样的话,我可以添加评论而不是宝石......我看到的唯一优势是您可以将选项移动:dependent
到迁移中而不是在模型中,但是谁在乎呢?
ruby-on-rails - 在 Heroku 上运行迁移时,我得到 PG::Error: ERROR: relationship "member1_id" does not exist
在本地,我的迁移很好(尽管我使用的是 SQLite。将在开发时尽快切换到 postgresql)。
在 Heroku 上重置数据库后
我跑了
但是迁移后出现以下错误:
这是迁移:
以前的 Collaborations 迁移是
和
以该顺序运行。为什么 Heroku 会出现这个错误?具体来说,看起来 PG 正在向“member1_id”添加不必要的“_id”
ruby-on-rails - 外国人宝石是如何工作的?
我正在查看外国人宝石并尝试创建一些外键。但是,gems文档说您应该像这样创建外键 `add_foreign_key(from_table, to_table, options) 但是当我这样做时,它似乎向后工作。例如,我有 3 个模型,Entry、Ingredient 和一个名为 EntryIngredient 的关联。Entry通过EntryIngredient有很多的Ingredient,通过EntryIngredients有很多Entry,EntryIngredient属于这两者。然而,这是有效的代码:
通过文档,我认为实际上应该像这样添加外键:
但是当我运行迁移时,这会给我一个
有人可以向我解释这里发生了什么吗?为什么我有阅读障碍?