Mam mały skrypt ruby, w którym chciałbym użyć ActiveRecord, aby łatwo uzyskać dostęp do modelu bazy danych. Jaki jest najlepszy sposób na zrobienie tego?Jak korzystać z ActiveRecord w skrypcie ruby poza Railsami?
53
A
Odpowiedz
84
require 'active_record'
# Change the following to reflect your database settings
ActiveRecord::Base.establish_connection(
adapter: 'mysql2', # or 'postgresql' or 'sqlite3' or 'oracle_enhanced'
host: 'localhost',
database: 'your_database',
username: 'your_username',
password: 'your_password'
)
# Define your classes based on the database, as always
class SomeClass < ActiveRecord::Base
#blah, blah, blah
end
# Now do stuff with it
puts SomeClass.find :all
some_class = SomeClass.new
10
Warto zauważyć, że w nowszych wersjach ActiveRecord (v3 +) trzeba wymagać to jak tak
require "active_record"
7
Można utworzyć minimalny skrypt z bazą danych SQLite w pamięci Kilku kwestia. Ta odpowiedź jest również available as a Gist.
Zainspirowany przez Jon Leighton's blog post, jak opublikować niesamowity raport o błędzie ActiveRecord.
# Based on http://www.jonathanleighton.com/articles/2011/awesome-active-record-bug-reports/
# Run this script with `$ ruby my_script.rb`
require 'sqlite3'
require 'active_record'
# Use `binding.pry` anywhere in this script for easy debugging
require 'pry'
# Connect to an in-memory sqlite3 database
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: ':memory:'
)
# Define a minimal database schema
ActiveRecord::Schema.define do
create_table :shows, force: true do |t|
t.string :name
end
create_table :episodes, force: true do |t|
t.string :name
t.belongs_to :show, index: true
end
end
# Define the models
class Show < ActiveRecord::Base
has_many :episodes, inverse_of: :show
end
class Episode < ActiveRecord::Base
belongs_to :show, inverse_of: :episodes, required: true
end
# Create a few records...
show = Show.create!(name: 'Big Bang Theory')
first_episode = show.episodes.create!(name: 'Pilot')
second_episode = show.episodes.create!(name: 'The Big Bran Hypothesis')
episode_names = show.episodes.pluck(:name)
puts "#{show.name} has #{show.episodes.size} episodes named #{episode_names.join(', ')}."
# => Big Bang Theory has 2 episodes named Pilot, The Big Bran Hypothesis.
# Use `binding.pry` here to experiment with this setup.
Powiązane problemy
- 1. Jak korzystać z ActiveRecord poza Railsami?
- 2. Jak używać ActionView :: Helper w skrypcie Ruby, poza Railsami?
- 3. Jak korzystać z GIMPa w skrypcie Pythona?
- 4. Jak używać metody Railsowej DateHelper time_ago_in_words poza Railsami?
- 5. Jak używać Ruby do łączenia się z bazą danych SQLite3 poza Railsami jako językiem skryptowym?
- 6. Ruby rodzaje zbiorów w ActiveRecord
- 7. Jak uruchomić zadania Rake w skrypcie Ruby?
- 8. Jak korzystać z Ruby w Javie?
- 9. Jak korzystać dalej z inject w Ruby
- 10. Jak korzystać z debugowania ruby w Emacs?
- 11. Jak sprawdzić wejście STDIN w skrypcie Ruby?
- 12. Znaki Unicode w skrypcie Ruby?
- 13. Jak korzystać z programowania równoległego/wielowątkowości w moim skrypcie Bash?
- 14. Jak korzystać z funkcji Flowplayer w skrypcie treści?
- 15. Tworzenie prezentacji Powerpoint z Railsami
- 16. Jak korzystać z $ http poza kontrolerem? w AngularJS
- 17. Jak korzystać z ActiveRecord w bazie danych z kolumną o nazwie "valid"? (DangerousAttributeError)
- 18. Praca z wieloma równoległymi zadaniami z Railsami
- 19. Używanie Markdown z Railsami
- 20. Powiadomienia PostgreSQL i WebSockets z Railsami
- 21. Jak korzystać ze zmiennych środowiskowych Windows w skrypcie Vima?
- 22. Jak korzystać z metody GetQueryLog() firmy Elokwencja ORM poza Laravel?
- 23. Jak korzystać z odpowiedzi FB.api (JS SDK) poza funkcją zwrotną?
- 24. Jak przechowywać i porównywać: symbole w ActiveRecord (Ruby on Rails)
- 25. Elegancka grupa PostgreSQL dla Ruby on Rails/ActiveRecord
- 26. Jak korzystać ze zmiennej środowiskowej Rails w skrypcie wdrożenia Capistrano?
- 27. Jak pozyskać zmienne środowiskowe dla powłoki poleceń w skrypcie Ruby?
- 28. złamać i wrócić w Ruby, jak z nich korzystać?
- 29. Jak korzystać z nowej składni lambda w Ruby?
- 30. Jak zdefiniować własny serwer z Railsami 3
niezdefiniowana metoda 'require_gem” - znaczy gem "ActiveRecord"? –
Wywołanie require_gem jest przestarzałe. Powinno to teraz wymagać "aktywnego sprawdzania". – kafuchau
@kchau: Oh, dzięki. Nie używałem go od jakiegoś czasu. – Pesto