zoukankan      html  css  js  c++  java
  • rails 数据迁移 -migration

    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 文件

      

  • 相关阅读:
    Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法输入日志标题
    Linux下安装oracle数据库提示DISPLAY not set. Please set the DISPLAY and try again。
    redhat 关机注销命令详解
    VirtualBox的四种网络连接方式
    修改RedHat的系统显示时间
    insufficient memory to configure kdump(没有足够的内存)解决方法(待验证、待解决)
    xen坑随笔 heartbeat dpkg垃圾数据库清除
    tomcat 监控脚本
    负载均衡随笔
    GIT命令介绍
  • 原文地址:https://www.cnblogs.com/lunhui/p/6477926.html
Copyright © 2011-2022 走看看