我有一个Parse应用程序,我正在尝试将我的应用程序的数据库迁移到mLab上的MongoDB实例.
我已经在Heroku上设置了一个Parse Server分支,我正在使用Heroku的mLab MongoDB附加组件.
我有一个名为mLab的数据库heroku_1ksph3jj
,我应该可以使用以下模板连接到它:
mongodb://<dbuser>:<dbpassword>@ds047124.mlab.com:47124/heroku_1ksph3jj
但是,每次尝试都会返回:
Server returned error on SASL authentication step: Authentication failed.
我不确定要替换什么<dbuser>
和<dbpassword>
用什么.我有一个与我的数据库名称相同的数据库用户:heroku_1ksph3jjz
所以我使用了它.我使用该用户的密码代替<dbpassword>
.我应该在这里使用其他东西吗?
我目前使用的是 Rails 6.0.4,我想使用 Stimulus 构建一个新页面。在升级到 Rails 7 之前还有很多工作要做,因此如果可能的话,我想在 Rails 6 中使用导入映射和刺激。但到目前为止我还无法让刺激控制器工作。我按照以下步骤操作:
gem 'importmap-rails'
gem 'stimulus-rails'
Run Code Online (Sandbox Code Playgroud)
rails importmap:install
这给了我config/importmap.rb
, 和app/javascript/application.js
,它在配置文件中被固定为“应用程序”。
application.js
文件我的电流application.js
在 inside ,所以我暂时app/assets/application.js.coffee
将其重命名为并更新为以下内容:old_application.js.coffee
application.html.haml
= javascript_include_tag "old_application", defer: true
= javascript_importmap_tags
Run Code Online (Sandbox Code Playgroud)
这似乎有效,当我渲染页面时,它给了我以下导入映射:
{
"imports": {
"application": "/assets/application-920fceca960b509c1e98c9b27d167fa368d4b588ceb1be42d1667552714f94d5.js"
}
}
Run Code Online (Sandbox Code Playgroud)
rails stimulus:install
这给了我里面app/javascript/controllers
有index.js
,application.js
和的文件夹hello_controller.js
。
它还更新config/importmap.rb
为以下内容:
pin "application", preload: true
pin "@hotwired/stimulus", to: "stimulus.min.js", …
Run Code Online (Sandbox Code Playgroud) javascript stimulusjs ruby-on-rails-6 import-maps ruby-on-rails-7
我目前为一位正在使用 Heroku 并迁移到 AWS 的客户工作。然而,我们在理解如何在 AWS 中复制Review Apps功能时遇到了困难。
具体来说,我们想要一个 Jenkins 作业,它允许我们指定分支名称和一组环境变量。然后,该工作将启动我们的整个堆栈,以便开发人员可以在转移到登台之前单独测试他们的更改。
我们的堆栈是 5 个不同的 Ruby on Rails 应用程序,所有这些应用程序都必须知道彼此的 URL,这确实使事情变得复杂。
我听说AWS Fargate或EKS 等工具可能适合,但我不确定。
我在我正在建造的应用程序中使用一个名为temple8的内部cocoapod.这是我的Podfile:
platform :ios, '9.0'
def temple8
pod 'j2objc-temple8-debug', :configuration => ['Debug'], :path => '../temple8/build/j2objcOutputs'
pod 'j2objc-temple8-release', :configuration => ['Release'], :path => '../temple8/build/j2objcOutputs'
end
target 'cartful-ios' do
use_frameworks!
temple8
pod 'Stripe'
pod 'Alamofire', '~> 4.0'
pod 'FontAwesomeKit', :git => 'https://github.com/PrideChung/FontAwesomeKit.git'
pod 'KeychainAccess'
pod 'pop', '~> 1.0'
pod 'libPhoneNumber-iOS', '~> 0.8'
pod 'AsyncDisplayKit', :git => 'https://github.com/facebook/AsyncDisplayKit.git'
pod 'Intercom'
pod 'Mixpanel-swift'
pod 'UICountingLabel'
pod 'DTFoundation'
target 'cartful-iosTests' do
inherit! :search_paths
temple8
end
target 'cartful-iosUITests' do
inherit! :search_paths
temple8
end
end
post_install do |installer| …
Run Code Online (Sandbox Code Playgroud) 在使用评论应用程序时,我注意到了一些奇怪的行为。我为我正在处理的拉取请求创建了一个审查应用程序。它的父级是我的登台应用程序。作为拉取请求的一部分,我多次迁移了数据库,并且我正在使用审查应用程序测试这些迁移。我正在使用 Rails。
我正准备合并更改并部署到暂存应用程序,但我注意到暂存应用程序中的数据已更改。自从我开始这项工作以来,还没有部署到登台。
例如,在登台时我有一个 QrCode 模型,该模型有一个 user_id。使用我的评论应用程序,我迁移了数据库以删除 user_id 列并创建一个具有 user_id 的新 Product 模型。现在在我的暂存应用程序中,user_id 列已从 QrCode 中删除,但新的 Product 模型不存在。就好像数据库中的现有表已更新为新模式,而没有添加新模式。
有没有其他人遇到过类似的问题,或者知道可能会发生什么?在部署到生产之前,我需要知道所有迁移都能正常工作。
continuous-integration activerecord ruby-on-rails heroku continuous-deployment
heroku ×3
activerecord ×1
amazon-eks ×1
aws-fargate ×1
cocoapods ×1
import-maps ×1
javascript ×1
jenkins ×1
mlab ×1
mongodb ×1
objective-c ×1
stimulusjs ×1
swift ×1
unit-testing ×1
xcode ×1