Direkt zum Hauptbereich

rails deployment with sqlite3 in production too - cms online AND offline

After starting to use refinerycms I ran into some problems with my settings after deploying my app with capistrano.

First of all I was concerned with how the cms would work:
  • somebody does something offline, e.g. coding a view
  • and online somebody is writing a page or creating users
How would this go together without dataloss?

I ask my question and got some good answers - quick as well:
deployment to production with capistrano to vserver - consistency question regarding databases and cms settings - NOT heroku

Bottom line was:

  • refinerycms is using files for settings
  • online users will just work with the database,
  • offline users/coders do scripting
  • therefore merging is easy

For me it was not that easy at all because I used sqlite3 for developement and production and had to tell capistrano how to keep ONE database alive while rolling out releases:

in database.yml

production:
  adapter: sqlite3
  database: /var/www/*****/shared/production.sqlite3
  pool: 5
  timeout: 5000

And at the end of my deploy.rb
after "deploy:update_code", "preconfigure"
desc "Configure the application with correct database"
task :preconfigure, :roles => :app do

# symlink database.yml: copy if not exists, then link it back (release/config/database.yml -> shared/database.yml)
run "cp -n #{release_path}/config/database.yml #{shared_path}"
run "ln -sf #{shared_path}/database.yml #{release_path}/config/database.yml"
# symlink database file and backup current one
run "ln -sf #{shared_path}/production.sqlite3 #{release_path}/db/production.sqlite3"
run "touch #{release_path}/db/production.sqlite3" # make sure at least empty file exists so it can be copied
run "cp #{release_path}/db/production.sqlite3 #{release_path}/db/production.sqlite3.backup"

end

after 'deploy:update_code', 'deploy:migrate'


And it works fine so far!

Kommentare

Beliebte Posts aus diesem Blog

rails + carrierwavve + plupload = multiple file upload

Right now I am very happy! I finished my work on creating a file upload method in rails for more than one file, altogether handled by rails sessions and as objects. First I had to learn a bit more about how rails works and I achieved that by reading a lot: books, screencasts and blogs. In this blog post I like to share what I accomplished, but without the hussle of putting code blocks in here, so watch out for bold formatted text as that is the code. My goal was to have one site with just the pure option of uploading files. All file handling would be done behind the scenes by myself logging onto my server. That said you are not going to see any fancy CRUD here. Lets start then! And dont forget to versioning your app BEFORE you try something new! [e.g. git] > rails g scaffold Photo title:string Now add carrierwave to you Gemfile and run > bundle install >rails g uploader Photo Alltogether you have model, controller, views and an uploader folder with the Ph...

Pflanzsack aus Jute

Nachdem ich die Bücher vom Arche Noah Verein schon vorstellte, möchte ich hier eine Topfalternative zeigen, die obendrein noch dekorativ ist. Pflanzsäcke Oder "grow bags", wenn man etwas moderner daher komme möchte bzw. mehr Suchergenisse will. Dabei wollte ich wenig Geld ausgeben, und auch nicht ganz spartan bleiben und den Blumenerdesack dafür nutzen; und bestellte mir 50 kg Jutesäcke für ca. 1,20 EUR/Stück. Nimmt man den ganzen Sack, wird der Topf schon recht groß, auch wenn man etwas des Materials nach innen oder außen faltet. Also nahm ich mir die Freiheit und nähte aus einem großen vier kleine und verbrauchte den letzten Rest unserer Erde fürs Umtopfen der Habanero. Die machte nämlich nun Platz für die sibirische Hauschili und die restlichen von beiden Sorten mischte ich zusammen und stellte sie auf die Fensterbank. Der Vorteil dieser Art von Töpfen liegt auf der Hand: sie sind billig im Vergleich zum Volumen sie sind dekorativ - wirken rustikal biet...

Serienbrief für Einladungen mit LaTeX bzw. XeTeX

Bei uns im Hause wird gerade eingeladen, also wollte ich meine Kenntnisse in LaTeX nutzen, um dies "schön" zu machen. Dabei sollte man dann einfach anstatt LaTeX XeTeX nehmen, welches durch fontenc sämtliche Schriften des laufenden Systems verwenden kann. Und wenn man dann die Leute eingetragen hat in eine solche Tabelle: Hans;Wurst;0 Klaus;Müller;1 Maria;Müller;0 Peter;Huber;2 Katrin;Ingens;0 Dann kreiert folgender Code drei Querseiten a la: -------------------------------------------------------------- |                            |                               | |     Namen            |     ...