Tag: 数据库

Rails – 两个应用程序之间的共享数据库表

我们将很快发布一个配套的Rails应用程序到我们现有的Rails应用程序。 我们将在同一台服务器上与现有应用程序一起运行配套应用程序。 我的问题涉及数据库。 我的托管服务提供商通常会为新应用程序配置第二个不同的数据库 – secondappname_production。 但是,应用程序之间有一系列共享表。 这些共享表也由一系列cron作业维护。 如果可能的话,我希望避免重复这些表(以及cron作业)。 有没有办法可以将这些共享表放在Rails应用程序可以利用的共享数据库中? 有关如何配置或文档指针的任何建议? 非常感谢! 编辑:澄清为什么我不想在同一个数据库中运行这两个应用程序:两个应用程序都有相同名称的模型(但模型的不同属性等),所以我宁愿不运行两个相同的DB ….

rails如何将Associated Model与admin命名空间一起使用

谢谢,我可以在这里提问。 我正在使用rails 5.1.4和ruby 2.5.0。 我有两个模型A和模型B. Model A has_many bs Model B belongs_to a admin-user可以生成新的a条目,并且可以生成新的b条目。 no-admin-user可以显示,索引或保留。 的routes.rb resources :as, only: [:index, :show] do resources :bs, only: [:index, :show, :reserve] end namespace :admin do resources :as, only: [:create, :edit, :update, :destroy, :show] do member do post :activate get :activate post :deactivate get :deactivate end resources :bs, only: […]

如何在一天结束时将布尔值重置为“default:false”?

我在DB中有一个布尔值: t.boolean “completed”, default: false 我只在主页上显示那些仍然是false的。 如果用户选中一个: 完成变为true ,因此它从主页上消失。 但是,在每一天结束时,我们如何自动将所有内容重置为default: false ? 我是否要创建模型方法或范围来执行此操作?

存储日期,可选月/日

我想在Postgres数据库中存储日期。 唯一的问题是这个日期可以有可选的日期甚至是月份。 例: 用户提供他受雇的时间段 – 不是必需的完整日期(日+月+年),而只是开始年份和结束年份。 然而,有些用户在同一年只从5月到10月工作,所以也必须提供月份。 如何处理这种可选的日期部分?

Rails在哪里存储通过在测试期间保存activerecord对象而创建的数据?

Rails在哪里存储通过在测试期间保存activerecord对象而创建的数据? 我以为我知道这个问题的答案:显然在_test数据库中 。 但看起来这不是真的 ! 我使用这个系统来测试在rspec测试期间保存的ActiveRecord数据发生了什么: $ rails -d mysql test $ cd测试 $ nano config / database.yml … …创建mysql数据库test_test,test_development,test_production $ script / generate rspec $ script / generate rspec_model foo 编辑Foo迁移: class CreateFoos $ rake db:migrate 编辑spec / models / foo_spec.rb: 需要File.expand_path(File.dirname(__ FILE__)+’/../spec_helper’) 描述Foo做 之前(:每个)做 @valid_attributes = { :bar => 12345 } 结束 它“应该创建一个给定有效属性的新实例” […]

耙子流产了! 用于ActiveRecord :: Base的未定义方法`migration_error =’:Class

我正在使用Ruby on Rails开发项目直到现在我使用Rails 4并且在我遇到gem的无能力问题之前一切都很好。 我决定回滚到Rails 3,更改我的Gemfile,删除Gemfile.lock,所有rails安装和railties。 然后我运行bundle install并安装了Rails 3.2.13。 但是现在当我运行rake db时:创建一切仍然很好。 当我运行rake db:migrate问题开始时: JeffreeBook:llvoo kristijonas$ rake db:migrate WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8 rake aborted! undefined method `migration_error=’ for ActiveRecord::Base:Class /Users/kristijonas/.rvm/gems/ruby-1.9.3-p448@fashion/gems/activerecord-3.2.13/lib/active_record/dynamic_matchers.rb:55:in `method_missing’ /Users/kristijonas/.rvm/gems/ruby-1.9.3-p448@fashion/gems/activerecord-3.2.13/lib/active_record/railtie.rb:66:in `block (3 levels) in ‘ /Users/kristijonas/.rvm/gems/ruby-1.9.3-p448@fashion/gems/activerecord-3.2.13/lib/active_record/railtie.rb:65:in `each’ /Users/kristijonas/.rvm/gems/ruby-1.9.3-p448@fashion/gems/activerecord-3.2.13/lib/active_record/railtie.rb:65:in `block (2 levels) in ‘ /Users/kristijonas/.rvm/gems/ruby-1.9.3-p448@fashion/gems/activesupport-3.2.13/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval’ […]

在一个进程中使用什么ORM多个数据库连接sinatra应用程序?

检查ActiveRecord,DataMapper,续集:有些人使用全局变量(静态变量),有些需要在使用模型加载源文件之前打开数据库连接。 什么ORM更适合在使用不同数据库的sinatra应用程序中使用。

与ruby的简单远程ODBC数据库连接

我试图与远程数据库建立一个简单的连接。 我似乎无法让它发挥作用。 remote_db = DBI.connect(‘DBI:ODBC:remote-host’,’user’,’password’) remote_db.table { |table| pp table } 任何帮助将不胜感激。

heroku db:拉不起作用?

我收到以下错误消息: heroku db:pull –debug postgres://USERNAME:PASSWORD@localhost/test Loaded Taps v0.3.23 Warning: Data in the database ‘postgres://USERNAME:PASSWORD@localhost/test’ will be overwritten and will not be recoverable. Receiving schema Unable to fetch tables information from http://heroku:foo9dsfsdfsdb465ar@taps19.heroku.com. Please check the server log. 上面的命令不会在日志中生成任何可以使用“heroku logs”查看的消息。 知道我做错了什么吗?

从OAuth安全存储令牌/秘密/等的正确方法?

我刚开始研究OAuth,它看起来非常好。 我现在正和ruby 一起工作 。 现在我想知道,在本地数据库和会话中存储响应的建议安全方法是什么? 我应该存储什么? 我应该在哪里存放? 此示例twitter-oauth-with-rails应用程序在会话中存储user.id ,用户表具有token和secret 。 但这似乎很容易通过传递大量测试用户ID来破解和获取秘密,不是吗?