Ustaw domyślne szyny połączenia z bazą danych
Moja aplikacja rails ma własną bazę danych MySql (i wymaga gem mysql2), ale także musi połączyć się z zewnętrzną bazą danych MongoDB dla jednego konkretnego modelu (i dlatego włączyłem mongoid i bson_ext w pliku Gemfile). Teraz, gdy próbuję wygenerować migrację dla nowego modelu, mówi mi, że
$ rails g migration CreateLocations
error mongoid [not found]
Kiedy wygenerowałem Model lokalizacji, zawierał on Mongoid::Document, więc Rails najwyraźniej myśli, że używa zewnętrznej bazy danych jako mojego głównego datastore.
Database.yml:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: associalize_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
Mongoid.yml:
development:
host: pearl.mongohq.com
port: 27019
username: asfasdf
password: sadfasdf
database: app4574678
test:
host: pearl.mongohq.com
port: 27019
username: asdfadhasdfa
password: hadsadfas
database: app4574678
production:
host: pearl.mongohq.com
port: 27019
username: asdfdfsasda
password: afdasdfdasdf
database: app4574678
UPDATE Model wykorzystujÄ…cy Mongo
class ExternalMongoModel
include Mongoid::Document
field :title
field :long_title
field :deal_type
field :merchandise_type
field :market_id
field :market_name
field :market_location, type: Array
field :featureType
field :country_code
field :subtitle
field :offer_ends_at
field :price
field :value
field :merchant_type
field :content
field :merchant
index(
[[:division_latlon, Mongo::GEO2D]], background: true
)
end
3 answers
Dodaj to do bloku aplikacji w konfiguracji / aplikacji.rb:
config.generators do |g|
g.orm :active_record
end
(rozwiÄ…zanie znalezione tutaj )
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-14 04:44:07
Jeśli nie chcesz zmieniać konfiguracji / aplikacji.rb można tego użyć podczas generowania modelu:
rails generate active_record:migration
Jeśli zmienisz aplikację.plik rb, aby wywołać generator mongoid, powiedzmy dla modelu 'kontakty', można użyć:
rails g mongoid:model contacts
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:41
Najpierw sprawdź, czy poniższy blok jest obecny w config / application.plik rb w aplikacji rails
config.generators do |g|
g.orm :active_record
end
If not add then, or else you can run
rails g active_record:migration
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-08 17:51:37