我正在尝试在不使用rails并使用sqlite数据库的本地主机应用程序中使用gem'active_record'执行迁移文件。
我有以下rake文件:
require_relative './config/environments.rb'
require 'active_record'
task :default => :migrate
desc "executing migration"
task :migrate do
ActiveRecord::Migrator.migrate('/db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
end
在/ db / migrate路径中我有一个名为001_create_users.rb的文件,其中包含以下代码:
require 'active_record'
class CreateUsers < ActiveRecord::Migration
def self.up
create_table: users do |u|
u.string :username
u.string :password_digest
end
end
end
但是当我在终端上执行rake时,没有在数据库上创建表用户,只创建了一个名为 schema_migrations 的表。
在ActiveRecord上,我得到以下记录:
D, [2014-07-10T11:42:21.520400 #2042] DEBUG -- : [1m[36m (7.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) [0m
D, [2014-07-10T11:42:21.520842 #2042] DEBUG -- : [1m[35m (0.1ms)[0m select sqlite_version(*)
D, [2014-07-10T11:42:21.522101 #2042] DEBUG -- : [1m[36m (1.0ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
为了在用户表中创建属性,我需要做些什么?