1、创建一个fruits 项目:

rails  new  fruits  -d  mysql  --skip-bundle

2、修改Gemfile:

source 'https://gems.ruby-china.org'

 gem 'rails', '~> 5.0.1'
gem 'mysql2', '>= 0.3.18', '< 0.5' #rails 默认不是mysql2 需要自己添加gem 或者在创建项目的时候 -d mysql
gem 'puma', '~> 3.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2'
gem 'jquery-rails'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5' group :development, :test do
gem 'byebug', platform: :mri
end group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.0.5'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

3、配置 config / database.yml

development:           # 表示 这是开发模式下的数据库配置
adapter: mysql2 # 表示 数据库的驱动 例如:mysql2, sqlite, oracle, postgres
database: test_migration # 数据库名字
username: root # 连接数据库的用户名
password: 123456 # 密码
host: localhost # 数据库的ip 如果本机的数据库,就是localhost

  

4、创建数据库

bundle exec rake db:create

5、创建 users 表

bundle exec  rails  generate  migration  create_users

  

6、上面的命令创建好了 migration 也创建好了 users表 是放在是放在 db/migration

db / migrate / 20170228020223_create_users.rb  

class CreateUsers < ActiveRecord::Migration[5.0]
def up
create_table :users do |t| 创建users表
t.string :title users表中的数据类型 列名
t.string :name
t.string :age
t.string :maed
end
end def down
drop_table :users down方法跟up方法是相对的 up是创建表 down方法则是回滚没有创建user表的时候
end
end

文件保存好以后 执行 :

  bundle exec rake db:migrate  生成migrate 执行了这句才是创建user表  这是执行migrate中的up方法

  bundle exec rake db:rollback  这是执行 migrate 中的down方法  回滚上一步操作

  

  

7、 修改列名:

修改列名
bundle exec rails generate migration rename_age_to_my 这是吧age列名修改成my
bundle exec rails generate migation rename_ 原列名 _to_ 新的列名
执行上面的命令 会在db/migration下面创建/20170224083125_rename_age_to_my.rb 文件

  

rails 数据迁移 -migration的更多相关文章

  1. rails 数据迁移出问题

    数据migrate重置 rails db:migrate:reset 具体的,,还不清楚,想起来了再去补充

  2. 数据迁移 Migration

  3. EF架构~Migration数据迁移的执行顺序

    回到目录 对于单个分支项目来说,只要你生成一个migration的版本,就会有一个时间戳文件的对应,而在update-database时,会从最小的时间开始,一直执行到当前版本的migration,而 ...

  4. EasySharding.EFCore 如何设计使用一套代码完成的EFCore Migration 构建Saas系统多租户不同业务需求且满足租户自定义分库分表、数据迁移能力?

    下面用一篇文章来完成这些事情 多租户系统的设计单纯的来说业务,一套Saas多租户的系统,面临很多业务复杂性,不同的租户存在不同的业务需求,大部分相同的表结构,那么如何使用EFCore来完成这样的设计呢 ...

  5. MySQL数据迁移到SQL Server

    数据迁移的工具有很多,基本SSMA团队已经考虑到其他数据库到SQL Server迁移的需求了,所以已经开发了相关的迁移工具来支持. 此博客主要介绍MySQL到SQL Server数据迁移的工具:SQL ...

  6. ASP.NET 5探险(1):Azure中配置连接字符串、独立项目执行EF7数据迁移

    (此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:我开始把ASP.NET 5用于生产系统开发已经有1个多月了,也填了一些坑积累了一些经验,从今天开始会陆陆续 ...

  7. 在Entity Framework 7中进行数据迁移

    (此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:虽然EF7重新设计了Entity Framework,不过也还是能够支持数据迁移的. Entity Fra ...

  8. Code First Migrations更新数据库结构(数据迁移)

    背景 code first起初当修改model后,要持久化至数据库中时,总要把原数据库给删除掉再创建 (DropCreateDatabaseIfModelChanges),此时就会产生一个问题,当我们 ...

  9. CodeFirstMigrations更新数据库结构(EF数据迁移)

    背景 code first起初当修改model后,要持久化至数据库中时,总要把原数据库给删除掉再创建(DropCreateDatabaseIfModelChanges),此时就会产生一个问题,当我们的 ...

随机推荐

  1. plsql免安装客户端的配置

    不安装oracle,在安装了plsql之后,需要连接数据库,连接数据库需要在tns中tnsnames.ora中配置 首先需要两个文件: network instantclient-basic-win3 ...

  2. [转]GCC系列: __attribute__((visibility("")))

    在 objc-api.h 里面有很多关于__attribute__ 的定义. 例如 #if !defined(OBJC_VISIBLE) # if TARGET_OS_WIN32 # if defin ...

  3. CSS text系列

    text-shadow 语法规则: h-shadow(必需,水平阴影的位置,可负): v-shadow(必需,垂直阴影的位置,可负): blur(可选,模糊距离): color(可选,阴影的颜色). ...

  4. 关联查询resultMap使用规则总结——(十一)

    resultType: 作用: 将查询结果按照sql列名pojo属性名一致性映射到pojo中. 场合: 常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用re ...

  5. Mysql读写分离-Amoeba Proxy

    参考:http://www.linuxidc.com/Linux/2015-10/124115.htm 一个完整的MySQL读写分离环境包括以下几个部分: 应用程序client database pr ...

  6. apache本地配置多域名(wampserver本地配置多域名)

    我们在本地开发时,一般是在浏览器输入 http://localhost/项目文件夹名来测试网页文件,你有没有想过在本地在浏览器输入你自己设定的一个域名进入项目文件夹中去,本地配置多域名可以测试二级域名 ...

  7. 自定义Web组件

    一.Session 1.面向对象基础 面向对象中通过索引的方式访问对象,需要内部实现 __getitem__ .__delitem__.__setitem__方法 +? 1 2 3 4 5 6 7 8 ...

  8. urbuntu12.04 ftp服务器搭建

    1.安装ftp服务器: sudo apt-get install vsftpd 2..配置ftp 修改ftp的配置文件,该文件在/etc目录下,在终端中键入如下命令以打开配置文件: sudo vi / ...

  9. 局域网搭建https局域网

    局域网搭建https局域网 1.使用tomcat作为服务器搭建局域网访问https 需要使用java jdk\bin下的keytool.exe来创建证书 使用命令:keytool -genkenpai ...

  10. linux开启远程访问端口

    开启3306端口的tcp访问权限 /sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT 保存防火墙信息 /etc/rc.d/init.d/iptab ...