Generate Model from Existing Table?

[cc lang=”ruby”]
class Person < ActiveRecord::Base set_table_name 'person' end [/cc] 如果你的rails專案是一個從別的UI準備要換皮換成Rails的,則原來己存在的資料表可以依以上的指令讓這個model用set_table_name去存取。 另外如果不想新增一個Model而又給你新增一個migrate檔,則可以用 [cc lang="ruby"] rails g model model_name --skip-migration [/cc] 來跳過產生migrate檔。 ref: 更改表格名: http://apidock.com/rails/ActiveRecord/Base/set_table_name/class
更改欄位名:
http://apidock.com/rails/Module/alias_attribute

http://stackoverflow.com/questions/4119659/rails-3how-to-generate-models-for-existing-database-tables

http://stackoverflow.com/questions/1986301/rails-generate-model-from-existing-table

另外, model class 都是以單數命名 (Ticket)

update
如果你在log遇到這個警告:
DEPRECATION WARNING: Calling set_table_name is deprecated. Please use `self.table_name = ‘the_name’` instead

表示在未來 Rails 下個新版本將不支援 set_table_name 這個方法,請這樣用:
[cc lang=”ruby”]
class Person < ActiveRecord::Base self.table_name = 'person' end [/cc]

DRBD建置要領

DRBD是三小?以下來自wiki的資料
DRBD (Distributed Replicated Block Device) 是 Linux 平台上的分散式儲存系統。其中包含了核心模組,數個使用者空間管理程式及 shell scripts,通常用於高可用性(high availability, HA)叢集。DRBD 類似磁碟陣列的RAID 1(鏡像),只不過 RAID 1 是在同一台電腦內,而 DRBD 是透過網路。

建置一個DRBD的架構,必需要一些條件:
二台以上的伺服器。
每台伺服器中都要再多一個分割區給DRBD同步資料。

DRBD運作時只有一台為Primary並且這台才有權將DRBD的磁區掛載,其餘機器只能同步。
Continue reading DRBD建置要領

kvm : cannot acquire state change lock

最近發生一個怪事,所以估狗之後,看起來是個bug
若發生某個VM不能啟動而顯示這個訊息:cannot acquire state change lock
照以下方法處理,即可解決
[cc lang=”bash”]
$ killall -9 libvirtd
$ rm /var/run/libvirtd.pid
$ /etc/init.d/libvirt-bin restart
[/cc]

ref : https://bugzilla.redhat.com/show_bug.cgi?id=676205

關於Git的簡要知識備忘

名詞解釋:

  • repository 存放source code或任何東西的倉庫
  • stage 準備要commit到respository作為一次release的檔案
  • add 將檔案加到stage
  • commit 將repository更新至本次stage的檔案
  • init 初始化git repository
  • remote 版本伺服器端
  • push 將這次commit的檔案上傳至remote
  • pull 將remote的檔案下載到local
  • fork 分支他人的repository
  • clone 複製他人的repository至本機
  • origin repository的原點
  • master repository版本的主枝
  • branch repository分支,通常做為debug用
  • checkout 切換到某個branch
  • merge 修改完成,將修改結果merge到該branch
  • fetch 更新分支
  • log 檢查每次commit的記錄
  • diff 檢查最近改變的內容
  • show 檢查某次變更
  • repack 打包物件
  • rebase 合併版本

Continue reading 關於Git的簡要知識備忘