jjzjj

database-schema

全部标签

ruby-on-rails - 多个数据库的测试和 database_cleaner

我们有一个邮箱模型,它使用另一个邮件应用程序也连接到的辅助数据库。这称为使用establish_connection:mail_database现在,我想我可以尝试将它包装在if语句中,以便它为测试环境使用不同的连接,但我想知道如何保持这个数据库的清洁,最好使用我们已经将其用于“常规”数据库的database_cleaner。我希望有人能将我推向正确的方向。 最佳答案 我有一个使用rspec(2.12.0)和使用database_cleaner(0.9.1f4b44bb)测试的rails3.2.10应用程序,它有两个用于mysql的

ruby-on-rails - Rails:PG::InsufficientPrivilege:错误:关系 schema_migrations 的权限被拒绝

我正在尝试在Rails中创建数据库。在Postgres中,我看到了开发和测试数据库,但是,我遇到了权限错误。我试过点击此链接,但对我不起作用。错误:PG::InsufficientPrivilege:错误:关系schema_migrations的权限被拒绝:SELECT"schema_migrations".*FROM"schema_migrations"Rails:permissiondeniedforrelationschema_migrationsdefault:&defaultadapter:postgresqlencoding:unicodepool:5host:localh

ruby - 轨道 3 :how to generate models for existing database tables

我已经将我的database.yml配置为指向我现有的mysql数据库我如何从中生成模型?railsgeneratemodelexisting_table_name只给出一个空模型.. 最佳答案 你可以试试Rmre.它可以为现有模式创建模型,并尝试根据外键信息创建所有关系。 关于ruby-轨道3:howtogeneratemodelsforexistingdatabasetables,我们在StackOverflow上找到一个类似的问题: https://st

ruby-on-rails - 如何在不初始化 Rails 的情况下从 schema.rb 创建数据库?

我正在尝试从schema.rb创建我所有的表我使用了命令:“rakedb:schema:load”但是,这失败了,因为在我的一个初始化器中,它引用了一个显然不存在的模型/表(因为数据库是空的)我可以注释掉这些行,然后再次运行schema:load,但是有其他选择吗? 最佳答案 可能最快的方法是将有问题的初始化程序移动到应用程序外部的临时目录,然后运行您的模式加载。但是,如果这不起作用,或者由于某种原因不是一个选项,您总是可以通过创建一个简单的rails应用程序来执行模式加载来解决这个问题:创建一个新的Rails应用:railsnew

ruby - 如何禁用数据库 :schema:dump for migrations

我不希望Rails3在每次迁移时生成我的模式。如何正确禁用它?谢谢 最佳答案 对于仍在寻找在迁移后禁用数据库转储的方法的任何人,rails4中现在可以使用配置,可以像这样将其设置为false:config.active_record.dump_schema_after_migration=false会阻止它。此更改中已添加配置-https://github.com/rails/rails/pull/13948 关于ruby-如何禁用数据库:schema:dumpformigrations

ruby-on-rails - 如何在 Rails 中设置 database.yml 文件?

我正在做这个教程(http://dmix.ca/2008/09/how-to-scrape-websites-in-ruby-on-rails-using-scrubyt/),开始之前的第4步是设置database.yml文件。不确定那是什么意思。有人可以解释一下吗? 最佳答案 database.yml是您设置连接到数据库的所有信息的文件。它因您使用的数据库类型而异。您可以在RailsGuide中找到更多相关信息。或任何解释如何设置Rails项目的教程。database.yml文件中的信息按环境范围划分,允许您为测试、开发或生产获得

ruby-on-rails - ruby rails : adding columns to existing database

我收到一个错误:SQLite3::SQLException:nosuchcolumn:ideas.list_id:SELECT"ideas".*FROM"ideas"WHERE"ideas"."list_id"=2但是我加了t.integer:list_id到我的数据库迁移文件:classCreateIdeas这给了我这个:classCreateIdeas然后我输入rakedb:migrate知道为什么我会收到一条错误消息说没有专栏吗?我对RoR还是陌生的。我必须以其他方式添加一列吗?谢谢 最佳答案 正如Speransky所建议的,

ruby-on-rails - 覆盖 database.yml 的策略?

在我的环境中,部署服务器具有database.yml中的大部分连接信息。即他们知道自己是开发、测试还是生产服务器,知道各自的数据库连接信息。例如,我可以将此信息封装在一个服务器类中,以便我可以检索信息:Server["environment"]#=>productionServer["db_host"]#=>db5.example.comServer["db_password"]#=>[adecryptedpassword]等等。我想部署一个Rails应用程序并让它根据服务器设置自动配置。执行此操作的最佳方法是什么?一种方法是在我的database.yml中使用Erb::adapter

ruby-on-rails - 从 schema.rb 生成迁移文件

我希望从schema.rb生成一个迁移文件。是否可以?目前我有很多迁移文件,想将所有内容合并到一个主迁移文件中。我还认为我可能在某个时候不小心删除了一个迁移文件。谢谢你的帮助 最佳答案 您可以将schema.rb复制并粘贴到迁移中并回溯它(例如更改日期),这样现有的数据库就不会运行它。创建此迁移后,您可以删除所有旧迁移。我不同意Andrew不应该删除迁移的观点。迁移总是基于模型类的变化而意外中断,修复它们非常重要。由于我确定您正在使用版本控制,因此如果您需要它们以供引用,您可以随时回顾历史。

ruby-on-rails - Rails 3. 创建生产数据库

如何在Rails3中创建生产数据库并向其加载架构?我尝试了以下方法...我.rakedb:createRails.env='production'&&rakedb:schema:loadRails.env='production'二.#config/environment.rb#SettherailsenvironmentRails.env='production'rakedb:create&&rakedb:schema:load...但它们都不起作用。谢谢。DebianGNU/Linux5.0.6;rails3.0.0;SQLite33.7.2. 最佳答案