簡體   English   中英

使用Ruby on Rails 2在Sqlite中創建新表的最佳方法

[英]The best way to create a new table in Sqlite using Ruby on Rails 2

因此,在Rails 2中的Sqlite數據庫中創建新表的最佳方法是什么。我已經使用rake db:migrate命令創建了數據庫。 因此,我應該編寫單個sql腳本來創建數據庫還是以某種方式使用rake。 我不需要腳手架。

嘗試避免編寫CREATE / ALTER表腳本,而改用ActiveRecord遷移。 我想到了幾個原因:

  • 便攜性:讓AR處理跨平台的風味差異要容易得多
  • 變更控制:您的遷移可以使用VERSION =選項來雙向管理變更,這對於SQL而言並不容易
  • 這是Rails的方式:遵循Rails約定,除非您有令人信服的理由不這樣做
  • 簡便性:使用遷移時,您不必擔心id和timestamp列,這使您不必在使用SQL的情況下也要記住它們

基本上使用遷移。

有關如何使用遷移的一些有用幫助,可從http://wiki.rubyonrails.org/rails/pages/understandingmigrationshttp://wiki.rubyonrails.org/rails/pages/UsingMigrations獲得 我也可以從http://dizzy.co.uk/ruby_on_rails/cheatsheets/rails-migrations獲得一份好的備忘單。

基本上,遷移使用ruby代碼為您創建數據庫表。 使用好用的ruby代碼(而不是SQL DDL)來執行此操作要容易得多(至少在我看來),而不是SQL DDL-它還會自動為您執行各種操作(例如,根據rails的要求向所有表中添加id字段)。 然后,您可以使用rake任務將遷移實際應用於數據庫。 遷移給您帶來的另一個主要優點是它們是可逆的-因此您的數據庫已經過版本控制,您可以輕松地從一個版本跳轉到另一個版本。

如果您不使用腳手架,則應使用script/generate migration為每個表創建遷移文件。 無需使用sql腳本。 創建了一些遷移后,您可以使用rake db:migrate將它們應用於數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM