繁体   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