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

      

  • 相关阅读:
    linux---shell数组
    linux---shell传递参数
    Windows mysql免安装版配置。(版本号-5.6.45);
    contos 6.9 和 centos7 配置docker?
    数据库表的演化过程
    docker简单介绍。
    Linux 配置 mycat 和 分库分表配置。
    Linux 配置mysql 免安装版。
    mycat 简单介绍
    kibana 对es的简单操作。
  • 原文地址:https://www.cnblogs.com/lunhui/p/6477926.html
Copyright © 2011-2022 走看看