Tho*_*ggi 2 mysql ruby-on-rails
我生成了一个脚手架并输入了类型:value但现在我需要添加另一个字段/ db列,如何添加另一个类型:value而不破坏并重新启动我的整个项目?
rake aborted!
Mysql::Error: You have an error in your SQL syntax; check the manual that corres
ponds to your MySQL server version for the right syntax to use near '(11), `titl
e` varchar(255) DEFAULT NULL, `artist_old` varchar(255) DEFAULT NULL,' at line 1
: CREATE TABLE `albums` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY(11
), `title` varchar(255) DEFAULT NULL, `artist_old` varchar(255) DEFAULT NULL, `r
elease_date` datetime DEFAULT NULL, `genre` varchar(255) DEFAULT NULL, `feature`
int(11) DEFAULT NULL, `image_path` varchar(255) DEFAULT NULL, `created_at` date
time DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `artist_id` int(11) DEFAU
LT NULL) ENGINE=InnoDB
Run Code Online (Sandbox Code Playgroud)
小智 5
通常当您使用scaffold命令时,它将在您的db/migrate/文件夹中创建一个迁移,其中包含您的模型的所有数据库设置,例如:
class CreateComments < ActiveRecord::Migration
def self.up
create_table :comments do |t|
t.text :body
end
end
def self.down
drop_table :comments
end
end
Run Code Online (Sandbox Code Playgroud)
如果rake db:migrate在创建脚手架后未成功运行该命令,则可以轻松编辑下面的迁移文件,db/migrate/并在开头添加您错过的字段.编辑文件后,运行rake db:migrate命令以将迁移应用于数据库.
如果您rake db:migrate在创建脚手架后已经介入,则可以创建新的迁移,script/generate migration AddSubjectColumnToComments以便向表中添加另一个字段.在上面的示例中,我将获得一个新的迁移并填写以下代码:
class AddSubjectColumnToComments < ActiveRecord::Migration
def self.up
add_column :subject, :comments, :string
end
def self.down
remove_column :subject, :comments
end
Run Code Online (Sandbox Code Playgroud)
祝你好运!
| 归档时间: |
|
| 查看次数: |
479 次 |
| 最近记录: |